@editframe/elements 0.35.0-beta → 0.36.1-beta

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 (72) hide show
  1. package/dist/canvas/EFCanvas.d.ts +4 -4
  2. package/dist/elements/EFAudio.d.ts +4 -4
  3. package/dist/elements/EFCaptions.d.ts +0 -4
  4. package/dist/elements/EFCaptions.js +12 -32
  5. package/dist/elements/EFCaptions.js.map +1 -1
  6. package/dist/elements/EFImage.js +11 -2
  7. package/dist/elements/EFImage.js.map +1 -1
  8. package/dist/elements/EFPanZoom.d.ts +4 -4
  9. package/dist/elements/EFSurface.d.ts +4 -4
  10. package/dist/elements/EFTemporal.js +1 -0
  11. package/dist/elements/EFTemporal.js.map +1 -1
  12. package/dist/elements/EFText.d.ts +4 -4
  13. package/dist/elements/EFTextSegment.d.ts +4 -4
  14. package/dist/elements/EFThumbnailStrip.d.ts +4 -4
  15. package/dist/elements/EFTimegroup.d.ts +40 -6
  16. package/dist/elements/EFTimegroup.js +127 -8
  17. package/dist/elements/EFTimegroup.js.map +1 -1
  18. package/dist/elements/EFVideo.d.ts +6 -6
  19. package/dist/elements/EFWaveform.d.ts +4 -4
  20. package/dist/elements/updateAnimations.js +113 -15
  21. package/dist/elements/updateAnimations.js.map +1 -1
  22. package/dist/gui/EFActiveRootTemporal.d.ts +4 -4
  23. package/dist/gui/EFConfiguration.d.ts +4 -4
  24. package/dist/gui/EFControls.d.ts +2 -2
  25. package/dist/gui/EFDial.d.ts +4 -4
  26. package/dist/gui/EFFilmstrip.d.ts +2 -2
  27. package/dist/gui/EFFitScale.d.ts +3 -3
  28. package/dist/gui/EFFocusOverlay.d.ts +4 -4
  29. package/dist/gui/EFPause.d.ts +4 -4
  30. package/dist/gui/EFPlay.d.ts +4 -4
  31. package/dist/gui/EFPreview.d.ts +4 -4
  32. package/dist/gui/EFResizableBox.d.ts +4 -4
  33. package/dist/gui/EFScrubber.d.ts +4 -4
  34. package/dist/gui/EFTimeDisplay.d.ts +4 -4
  35. package/dist/gui/EFToggleLoop.d.ts +4 -4
  36. package/dist/gui/EFTogglePlay.d.ts +4 -4
  37. package/dist/gui/EFTransformHandles.d.ts +4 -4
  38. package/dist/gui/EFWorkbench.d.ts +6 -6
  39. package/dist/gui/EFWorkbench.js +38 -12
  40. package/dist/gui/EFWorkbench.js.map +1 -1
  41. package/dist/gui/TWMixin.js +1 -1
  42. package/dist/gui/TWMixin.js.map +1 -1
  43. package/dist/gui/hierarchy/EFHierarchy.d.ts +4 -4
  44. package/dist/gui/hierarchy/EFHierarchyItem.d.ts +2 -2
  45. package/dist/gui/timeline/tracks/ImageTrack.d.ts +2 -2
  46. package/dist/gui/timeline/tracks/TimegroupTrack.d.ts +5 -5
  47. package/dist/gui/timeline/tracks/VideoTrack.d.ts +4 -4
  48. package/dist/gui/tree/EFTree.d.ts +4 -4
  49. package/dist/gui/tree/EFTreeItem.d.ts +4 -4
  50. package/dist/preview/FrameController.js +6 -1
  51. package/dist/preview/FrameController.js.map +1 -1
  52. package/dist/preview/encoding/canvasEncoder.js.map +1 -1
  53. package/dist/preview/encoding/mainThreadEncoder.js +3 -0
  54. package/dist/preview/encoding/mainThreadEncoder.js.map +1 -1
  55. package/dist/preview/renderTimegroupPreview.js +57 -55
  56. package/dist/preview/renderTimegroupPreview.js.map +1 -1
  57. package/dist/preview/renderTimegroupToCanvas.js +22 -23
  58. package/dist/preview/renderTimegroupToCanvas.js.map +1 -1
  59. package/dist/preview/renderTimegroupToVideo.d.ts +2 -1
  60. package/dist/preview/renderTimegroupToVideo.js +77 -40
  61. package/dist/preview/renderTimegroupToVideo.js.map +1 -1
  62. package/dist/preview/rendering/renderToImage.d.ts +1 -0
  63. package/dist/preview/rendering/renderToImage.js +1 -26
  64. package/dist/preview/rendering/renderToImage.js.map +1 -1
  65. package/dist/preview/rendering/renderToImageForeignObject.js +34 -6
  66. package/dist/preview/rendering/renderToImageForeignObject.js.map +1 -1
  67. package/dist/preview/rendering/serializeTimelineDirect.js +379 -0
  68. package/dist/preview/rendering/serializeTimelineDirect.js.map +1 -0
  69. package/dist/render/EFRenderAPI.js +45 -0
  70. package/dist/render/EFRenderAPI.js.map +1 -1
  71. package/dist/style.css +45 -0
  72. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { TemporalMixinInterface } from "../elements/EFTemporal.js";
2
2
  import "./timeline/EFTimeline.js";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html10 from "lit-html";
4
+ import * as lit_html4 from "lit-html";
5
5
  import * as lit_html_directives_ref0 from "lit-html/directives/ref";
6
6
 
7
7
  //#region src/gui/EFFilmstrip.d.ts
@@ -22,7 +22,7 @@ declare class EFFilmstrip extends EFFilmstrip_base {
22
22
  timelineRef: lit_html_directives_ref0.Ref<HTMLElement>;
23
23
  connectedCallback(): void;
24
24
  protected willUpdate(changedProperties: Map<string | number | symbol, unknown>): void;
25
- render(): lit_html10.TemplateResult<1>;
25
+ render(): lit_html4.TemplateResult<1>;
26
26
  }
27
27
  declare global {
28
28
  interface HTMLElementTagNameMap {
@@ -1,10 +1,10 @@
1
1
  import { LitElement } from "lit";
2
- import * as lit_html_directives_ref1 from "lit-html/directives/ref";
2
+ import * as lit_html_directives_ref0 from "lit-html/directives/ref";
3
3
 
4
4
  //#region src/gui/EFFitScale.d.ts
5
5
  declare class EFFitScale extends LitElement {
6
- containerRef: lit_html_directives_ref1.Ref<HTMLDivElement>;
7
- contentRef: lit_html_directives_ref1.Ref<HTMLSlotElement>;
6
+ containerRef: lit_html_directives_ref0.Ref<HTMLDivElement>;
7
+ contentRef: lit_html_directives_ref0.Ref<HTMLSlotElement>;
8
8
  createRenderRoot(): this;
9
9
  uniqueId: string;
10
10
  private scale;
@@ -1,16 +1,16 @@
1
- import * as lit23 from "lit";
1
+ import * as lit25 from "lit";
2
2
  import { LitElement } from "lit";
3
- import * as lit_html22 from "lit-html";
3
+ import * as lit_html24 from "lit-html";
4
4
  import * as lit_html_directives_ref_js3 from "lit-html/directives/ref.js";
5
5
 
6
6
  //#region src/gui/EFFocusOverlay.d.ts
7
7
  declare class EFFocusOverlay extends LitElement {
8
- static styles: lit23.CSSResult;
8
+ static styles: lit25.CSSResult;
9
9
  focusedElement?: HTMLElement | null;
10
10
  overlay: lit_html_directives_ref_js3.Ref<HTMLDivElement>;
11
11
  private animationFrame?;
12
12
  drawOverlay: () => void;
13
- render(): lit_html22.TemplateResult<1>;
13
+ render(): lit_html24.TemplateResult<1>;
14
14
  connectedCallback(): void;
15
15
  disconnectedCallback(): void;
16
16
  protected updated(): void;
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit16 from "lit";
2
+ import * as lit18 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html16 from "lit-html";
4
+ import * as lit_html18 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: lit16.CSSResult[];
13
+ static styles: lit18.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_html16.TemplateResult<1>;
19
+ render(): lit_html18.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 lit15 from "lit";
2
+ import * as lit17 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html15 from "lit-html";
4
+ import * as lit_html17 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: lit15.CSSResult[];
13
+ static styles: lit17.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_html15.TemplateResult<1>;
19
+ render(): lit_html17.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 lit9 from "lit";
2
+ import * as lit12 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html9 from "lit-html";
4
+ import * as lit_html13 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: lit9.CSSResult[];
9
+ static styles: lit12.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_html9.TemplateResult<1>;
16
+ render(): lit_html13.TemplateResult<1>;
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
@@ -1,6 +1,6 @@
1
- import * as lit25 from "lit";
1
+ import * as lit27 from "lit";
2
2
  import { LitElement } from "lit";
3
- import * as lit_html24 from "lit-html";
3
+ import * as lit_html26 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: lit25.CSSResult;
24
+ static styles: lit27.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_html24.TemplateResult<1>;
33
+ render(): lit_html26.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 lit18 from "lit";
2
+ import * as lit20 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html18 from "lit-html";
4
+ import * as lit_html20 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: lit18.CSSResult[];
13
+ static styles: lit20.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_html18.TemplateResult<1>;
53
+ render(): lit_html20.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 lit19 from "lit";
2
+ import * as lit21 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html19 from "lit-html";
4
+ import * as lit_html21 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: lit19.CSSResult;
13
+ static styles: lit21.CSSResult;
14
14
  currentTimeMs: number;
15
15
  durationMs: number;
16
16
  private formatTime;
17
- render(): lit_html19.TemplateResult<1>;
17
+ render(): lit_html21.TemplateResult<1>;
18
18
  }
19
19
  declare global {
20
20
  interface HTMLElementTagNameMap {
@@ -1,7 +1,7 @@
1
1
  import { ControllableInterface } from "./Controllable.js";
2
- import * as lit17 from "lit";
2
+ import * as lit19 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html17 from "lit-html";
4
+ import * as lit_html19 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: lit17.CSSResult[];
13
+ static styles: lit19.CSSResult[];
14
14
  get context(): ControllableInterface | null;
15
- render(): lit_html17.TemplateResult<1>;
15
+ render(): lit_html19.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 lit14 from "lit";
2
+ import * as lit16 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html14 from "lit-html";
4
+ import * as lit_html16 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: lit14.CSSResult[];
13
+ static styles: lit16.CSSResult[];
14
14
  playing: boolean;
15
15
  get efContext(): ControllableInterface | null;
16
16
  connectedCallback(): void;
17
17
  disconnectedCallback(): void;
18
- render(): lit_html14.TemplateResult<1>;
18
+ render(): lit_html16.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 lit24 from "lit";
2
+ import * as lit26 from "lit";
3
3
  import { LitElement } from "lit";
4
- import * as lit_html23 from "lit-html";
4
+ import * as lit_html25 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: lit24.CSSResult;
52
+ static styles: lit26.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_html23.TemplateResult<1>;
82
+ render(): lit_html25.TemplateResult<1>;
83
83
  }
84
84
  declare global {
85
85
  interface HTMLElementTagNameMap {
@@ -1,15 +1,15 @@
1
1
  import { ContextMixinInterface } from "./ContextMixin.js";
2
2
  import { RenderToVideoOptions } from "../preview/renderTimegroupToVideo.js";
3
3
  import "./EFFitScale.js";
4
- import * as lit8 from "lit";
4
+ import * as lit5 from "lit";
5
5
  import { LitElement, PropertyValueMap } from "lit";
6
- import * as lit_html8 from "lit-html";
7
- import * as lit_html_directives_ref_js2 from "lit-html/directives/ref.js";
6
+ import * as lit_html5 from "lit-html";
7
+ import * as lit_html_directives_ref_js1 from "lit-html/directives/ref.js";
8
8
 
9
9
  //#region src/gui/EFWorkbench.d.ts
10
10
  declare const EFWorkbench_base: (new (...args: any[]) => ContextMixinInterface) & typeof LitElement;
11
11
  declare class EFWorkbench extends EFWorkbench_base {
12
- static styles: lit8.CSSResult[];
12
+ static styles: lit5.CSSResult[];
13
13
  rendering: boolean;
14
14
  private panZoomTransform;
15
15
  private isExporting;
@@ -61,7 +61,7 @@ declare class EFWorkbench extends EFWorkbench_base {
61
61
  private canvasPreviewResult;
62
62
  private canvasAnimationFrame;
63
63
  private boundHandleTransformChanged;
64
- focusOverlay: lit_html_directives_ref_js2.Ref<HTMLDivElement>;
64
+ focusOverlay: lit_html_directives_ref_js1.Ref<HTMLDivElement>;
65
65
  handleStageWheel(event: WheelEvent): void;
66
66
  connectedCallback(): void;
67
67
  disconnectedCallback(): void;
@@ -194,7 +194,7 @@ declare class EFWorkbench extends EFWorkbench_base {
194
194
  updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void;
195
195
  drawOverlays: () => void;
196
196
  private renderPlaybackStats;
197
- render(): lit_html8.TemplateResult<1>;
197
+ render(): lit_html5.TemplateResult<1>;
198
198
  }
199
199
  declare global {
200
200
  interface HTMLElementTagNameMap {
@@ -1,7 +1,6 @@
1
1
  import { __decorate } from "../_virtual/_@oxc-project_runtime@0.95.0/helpers/decorate.js";
2
2
  import { ContextMixin } from "./ContextMixin.js";
3
3
  import { TWMixin } from "./TWMixin2.js";
4
- import { renderTimegroupPreview } from "../preview/renderTimegroupPreview.js";
5
4
  import { getPreviewPresentationMode, getPreviewResolutionScale, getRenderMode, getShowStats, isNativeCanvasApiAvailable, setPreviewPresentationMode, setPreviewResolutionScale, setRenderMode, setShowStats } from "../preview/previewSettings.js";
6
5
  import { renderTimegroupToCanvas } from "../preview/renderTimegroupToCanvas.js";
7
6
  import { RenderCancelledError, renderTimegroupToVideo } from "../preview/renderTimegroupToVideo.js";
@@ -127,6 +126,34 @@ let EFWorkbench = class EFWorkbench$1 extends ContextMixin(TWMixin(LitElement))
127
126
  --toolbar-border: rgba(148, 163, 184, 0.15);
128
127
  }
129
128
 
129
+ /* Utility classes (not relying on external Tailwind) */
130
+ .grid {
131
+ display: grid;
132
+ }
133
+
134
+ .overflow-hidden {
135
+ overflow: hidden;
136
+ }
137
+
138
+ .fixed {
139
+ position: fixed;
140
+ }
141
+
142
+ .inset-0 {
143
+ top: 0;
144
+ right: 0;
145
+ bottom: 0;
146
+ left: 0;
147
+ }
148
+
149
+ .h-full {
150
+ height: 100%;
151
+ }
152
+
153
+ .w-full {
154
+ width: 100%;
155
+ }
156
+
130
157
  .toolbar {
131
158
  display: flex;
132
159
  align-items: center;
@@ -1825,19 +1852,18 @@ let EFWorkbench = class EFWorkbench$1 extends ContextMixin(TWMixin(LitElement))
1825
1852
  </div>
1826
1853
 
1827
1854
  ${isRendering && p !== null ? html`
1828
- ${p.framePreviewUrl ? html`
1855
+ ${p.framePreviewCanvas ? html`
1829
1856
  <div style="margin-bottom: 10px; display: flex; justify-content: center;">
1830
- <img
1831
- src=${p.framePreviewUrl}
1832
- alt="Current frame"
1833
- style="
1834
- border-radius: 4px;
1835
- border: 1px solid rgba(148, 163, 184, 0.2);
1836
- max-width: 100%;
1837
- height: auto;
1838
- "
1839
- />
1857
+ ${p.framePreviewCanvas}
1840
1858
  </div>
1859
+ <style>
1860
+ ef-workbench canvas {
1861
+ border-radius: 4px;
1862
+ border: 1px solid rgba(148, 163, 184, 0.2);
1863
+ max-width: 100%;
1864
+ height: auto;
1865
+ }
1866
+ </style>
1841
1867
  ` : null}
1842
1868
 
1843
1869
  <div style="display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; margin-bottom: 10px; font-family: ui-monospace, monospace; font-size: 10px;">