@editframe/create 0.43.0 → 0.45.0

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 (99) hide show
  1. package/README.md +11 -0
  2. package/dist/index.js +16 -28
  3. package/dist/index.js.map +1 -1
  4. package/dist/skills/editframe-brand-video-generator/README.md +155 -0
  5. package/dist/skills/editframe-brand-video-generator/SKILL.md +207 -0
  6. package/dist/skills/editframe-brand-video-generator/references/brand-examples.md +178 -0
  7. package/dist/skills/editframe-brand-video-generator/references/color-psychology.md +227 -0
  8. package/dist/skills/editframe-brand-video-generator/references/composition-patterns.md +383 -0
  9. package/dist/skills/editframe-brand-video-generator/references/editing.md +66 -0
  10. package/dist/skills/editframe-brand-video-generator/references/emotional-arcs.md +496 -0
  11. package/dist/skills/editframe-brand-video-generator/references/genre-selection.md +135 -0
  12. package/dist/skills/editframe-brand-video-generator/references/transition-styles.md +611 -0
  13. package/dist/skills/editframe-brand-video-generator/references/typography-personalities.md +326 -0
  14. package/dist/skills/editframe-brand-video-generator/references/video-archetypes.md +86 -0
  15. package/dist/skills/editframe-brand-video-generator/references/video-fundamentals.md +169 -0
  16. package/dist/skills/editframe-brand-video-generator/references/visual-metaphors.md +50 -0
  17. package/dist/skills/editframe-composition/SKILL.md +169 -0
  18. package/dist/skills/editframe-composition/references/audio.md +483 -0
  19. package/dist/skills/editframe-composition/references/captions.md +844 -0
  20. package/dist/skills/editframe-composition/references/composition-model.md +73 -0
  21. package/dist/skills/editframe-composition/references/configuration.md +403 -0
  22. package/dist/skills/editframe-composition/references/css-parts.md +105 -0
  23. package/dist/skills/editframe-composition/references/css-variables.md +640 -0
  24. package/dist/skills/editframe-composition/references/entry-points.md +810 -0
  25. package/dist/skills/editframe-composition/references/events.md +499 -0
  26. package/dist/skills/editframe-composition/references/getting-started.md +259 -0
  27. package/dist/skills/editframe-composition/references/hooks.md +234 -0
  28. package/dist/skills/editframe-composition/references/image.md +241 -0
  29. package/dist/skills/editframe-composition/references/r3f.md +580 -0
  30. package/dist/skills/editframe-composition/references/render-api.md +484 -0
  31. package/dist/skills/editframe-composition/references/render-strategies.md +119 -0
  32. package/dist/skills/editframe-composition/references/render-to-video.md +1101 -0
  33. package/dist/skills/editframe-composition/references/scripting.md +606 -0
  34. package/dist/skills/editframe-composition/references/sequencing.md +116 -0
  35. package/dist/skills/editframe-composition/references/server-rendering.md +753 -0
  36. package/dist/skills/editframe-composition/references/surface.md +329 -0
  37. package/dist/skills/editframe-composition/references/text.md +627 -0
  38. package/dist/skills/editframe-composition/references/time-model.md +99 -0
  39. package/dist/skills/editframe-composition/references/timegroup-modes.md +102 -0
  40. package/dist/skills/editframe-composition/references/timegroup.md +457 -0
  41. package/dist/skills/editframe-composition/references/timeline-root.md +398 -0
  42. package/dist/skills/editframe-composition/references/transcription.md +47 -0
  43. package/dist/skills/editframe-composition/references/transitions.md +608 -0
  44. package/dist/skills/editframe-composition/references/use-media-info.md +357 -0
  45. package/dist/skills/editframe-composition/references/video.md +506 -0
  46. package/dist/skills/editframe-composition/references/waveform.md +327 -0
  47. package/dist/skills/editframe-editor-gui/SKILL.md +152 -0
  48. package/dist/skills/editframe-editor-gui/references/active-root-temporal.md +657 -0
  49. package/dist/skills/editframe-editor-gui/references/canvas.md +947 -0
  50. package/dist/skills/editframe-editor-gui/references/controls.md +366 -0
  51. package/dist/skills/editframe-editor-gui/references/dial.md +756 -0
  52. package/dist/skills/editframe-editor-gui/references/editor-toolkit.md +587 -0
  53. package/dist/skills/editframe-editor-gui/references/filmstrip.md +460 -0
  54. package/dist/skills/editframe-editor-gui/references/fit-scale.md +772 -0
  55. package/dist/skills/editframe-editor-gui/references/focus-overlay.md +561 -0
  56. package/dist/skills/editframe-editor-gui/references/hierarchy.md +544 -0
  57. package/dist/skills/editframe-editor-gui/references/overlay-item.md +634 -0
  58. package/dist/skills/editframe-editor-gui/references/overlay-layer.md +429 -0
  59. package/dist/skills/editframe-editor-gui/references/pan-zoom.md +568 -0
  60. package/dist/skills/editframe-editor-gui/references/pause.md +397 -0
  61. package/dist/skills/editframe-editor-gui/references/play.md +370 -0
  62. package/dist/skills/editframe-editor-gui/references/preview.md +391 -0
  63. package/dist/skills/editframe-editor-gui/references/resizable-box.md +749 -0
  64. package/dist/skills/editframe-editor-gui/references/scrubber.md +588 -0
  65. package/dist/skills/editframe-editor-gui/references/thumbnail-strip.md +566 -0
  66. package/dist/skills/editframe-editor-gui/references/time-display.md +492 -0
  67. package/dist/skills/editframe-editor-gui/references/timeline-ruler.md +489 -0
  68. package/dist/skills/editframe-editor-gui/references/timeline.md +604 -0
  69. package/dist/skills/editframe-editor-gui/references/toggle-loop.md +618 -0
  70. package/dist/skills/editframe-editor-gui/references/toggle-play.md +526 -0
  71. package/dist/skills/editframe-editor-gui/references/transform-handles.md +924 -0
  72. package/dist/skills/editframe-editor-gui/references/trim-handles.md +725 -0
  73. package/dist/skills/editframe-editor-gui/references/workbench.md +453 -0
  74. package/dist/skills/editframe-motion-design/SKILL.md +101 -0
  75. package/dist/skills/editframe-motion-design/references/0-editframe.md +299 -0
  76. package/dist/skills/editframe-motion-design/references/1-intent.md +201 -0
  77. package/dist/skills/editframe-motion-design/references/2-physics-model.md +405 -0
  78. package/dist/skills/editframe-motion-design/references/3-attention.md +350 -0
  79. package/dist/skills/editframe-motion-design/references/4-process.md +418 -0
  80. package/dist/skills/editframe-vite-plugin/SKILL.md +75 -0
  81. package/dist/skills/editframe-vite-plugin/references/file-api.md +111 -0
  82. package/dist/skills/editframe-vite-plugin/references/getting-started.md +96 -0
  83. package/dist/skills/editframe-vite-plugin/references/jit-transcoding.md +91 -0
  84. package/dist/skills/editframe-vite-plugin/references/local-assets.md +75 -0
  85. package/dist/skills/editframe-vite-plugin/references/visual-testing.md +136 -0
  86. package/dist/skills/editframe-webhooks/SKILL.md +126 -0
  87. package/dist/skills/editframe-webhooks/references/events.md +382 -0
  88. package/dist/skills/editframe-webhooks/references/getting-started.md +232 -0
  89. package/dist/skills/editframe-webhooks/references/security.md +418 -0
  90. package/dist/skills/editframe-webhooks/references/testing.md +409 -0
  91. package/dist/skills/editframe-webhooks/references/troubleshooting.md +457 -0
  92. package/dist/templates/html/AGENTS.md +13 -0
  93. package/dist/templates/react/AGENTS.md +13 -0
  94. package/dist/utils.js +15 -16
  95. package/dist/utils.js.map +1 -1
  96. package/package.json +2 -2
  97. package/tsdown.config.ts +4 -0
  98. package/dist/detectAgent.js +0 -89
  99. package/dist/detectAgent.js.map +0 -1
@@ -0,0 +1,241 @@
1
+ ---
2
+ title: Image Element
3
+ description: Static image element with configurable display duration, CSS positioning, and fit/fill/cover layout modes for compositions.
4
+ type: reference
5
+ nav:
6
+ parent: "Media"
7
+ priority: 12
8
+ related: ["video", "surface"]
9
+ api:
10
+ attributes:
11
+ - name: src
12
+ type: string
13
+ required: true
14
+ description: URL, path, or data URI
15
+ - name: duration
16
+ type: timestring
17
+ description: Display duration
18
+ react:
19
+ generate: true
20
+ componentName: Image
21
+ importPath: "@editframe/react"
22
+ additionalProps:
23
+ - name: className
24
+ type: string
25
+ description: CSS classes for styling
26
+ - name: alt
27
+ type: string
28
+ description: Alt text for accessibility
29
+ nav:
30
+ parent: "Components / Media"
31
+ priority: 12
32
+ related: ["video", "surface"]
33
+ ---
34
+
35
+ <!-- html-only -->
36
+ # ef-image
37
+ <!-- /html-only -->
38
+ <!-- react-only -->
39
+ # Image
40
+ <!-- /react-only -->
41
+
42
+ Static image element.
43
+
44
+ <!-- react-only -->
45
+ ## Import
46
+
47
+ ```tsx
48
+ import { Image } from "@editframe/react";
49
+ ```
50
+ <!-- /react-only -->
51
+
52
+ ## Asset Paths
53
+
54
+ Place files in `src/assets/` and reference them as `/assets/filename`. The dev server serves these directly — do not use bundler imports (`import url from "./photo.jpg?url"`), which will not display in preview or render.
55
+
56
+ ## Basic Usage
57
+
58
+ <!-- html-only -->
59
+ ```html
60
+ <ef-image src="photo.jpg" duration="5s" class="size-full object-cover"></ef-image>
61
+ ```
62
+ <!-- /html-only -->
63
+ <!-- react-only -->
64
+ ```tsx
65
+ <Image src="/assets/logo.png" alt="Company Logo" />
66
+ ```
67
+ <!-- /react-only -->
68
+
69
+ <!-- react-only -->
70
+ ## Full Background
71
+
72
+ ```tsx
73
+ <Image
74
+ src="/assets/background.jpg"
75
+ className="size-full object-cover"
76
+ alt="Background"
77
+ />
78
+ ```
79
+ <!-- /react-only -->
80
+
81
+ ## Logo/Watermark Overlay
82
+
83
+ <!-- html-only -->
84
+ ```html live
85
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black">
86
+ <ef-video src="https://assets.editframe.com/bars-n-tone.mp4" class="size-full"></ef-video>
87
+ <ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect fill='%233b82f6' width='80' height='80' rx='8'/%3E%3C/svg%3E" duration="5s" class="absolute top-4 right-4 w-16 h-16 opacity-80"></ef-image>
88
+ </ef-timegroup>
89
+ ```
90
+ <!-- /html-only -->
91
+ <!-- react-only -->
92
+ ```tsx
93
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
94
+ <Image
95
+ src="/assets/background.jpg"
96
+ className="size-full object-cover"
97
+ />
98
+ <Image
99
+ src="/assets/logo.png"
100
+ className="absolute top-8 right-8 w-32 h-32"
101
+ />
102
+ </Timegroup>
103
+ ```
104
+ <!-- /react-only -->
105
+
106
+ ## Image Slideshow
107
+
108
+ <!-- html-only -->
109
+ ```html live
110
+ <ef-timegroup mode="sequence" class="w-[720px] h-[480px] bg-black">
111
+ <ef-timegroup mode="fixed" duration="3s" class="absolute w-full h-full">
112
+ <ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='480'%3E%3Crect fill='%23ef4444' width='720' height='480'/%3E%3Ctext x='360' y='250' fill='white' font-size='48' text-anchor='middle'%3ESlide 1%3C/text%3E%3C/svg%3E" duration="3s" class="size-full object-contain"></ef-image>
113
+ </ef-timegroup>
114
+ <ef-timegroup mode="fixed" duration="3s" class="absolute w-full h-full">
115
+ <ef-image src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='480'%3E%3Crect fill='%233b82f6' width='720' height='480'/%3E%3Ctext x='360' y='250' fill='white' font-size='48' text-anchor='middle'%3ESlide 2%3C/text%3E%3C/svg%3E" duration="3s" class="size-full object-contain"></ef-image>
116
+ </ef-timegroup>
117
+ </ef-timegroup>
118
+ ```
119
+ <!-- /html-only -->
120
+ <!-- react-only -->
121
+ ```tsx
122
+ interface ImageSlide {
123
+ id: string;
124
+ src: string;
125
+ duration: string;
126
+ caption: string;
127
+ }
128
+
129
+ const slides: ImageSlide[] = [
130
+ { id: "1", src: "/assets/slide1.jpg", duration: "3s", caption: "Slide 1" },
131
+ { id: "2", src: "/assets/slide2.jpg", duration: "3s", caption: "Slide 2" },
132
+ { id: "3", src: "/assets/slide3.jpg", duration: "3s", caption: "Slide 3" },
133
+ ];
134
+
135
+ <Timegroup mode="sequence" className="w-[1920px] h-[1080px]">
136
+ {slides.map((slide) => (
137
+ <Timegroup
138
+ key={slide.id}
139
+ mode="fixed"
140
+ duration={slide.duration}
141
+ className="absolute w-full h-full"
142
+ >
143
+ <Image src={slide.src} className="size-full object-cover" />
144
+ <Text duration={slide.duration} className="absolute bottom-8 left-8 text-white text-3xl">
145
+ {slide.caption}
146
+ </Text>
147
+ </Timegroup>
148
+ ))}
149
+ </Timegroup>
150
+ ```
151
+ <!-- /react-only -->
152
+
153
+ <!-- html-only -->
154
+ ## Data URI (Inline SVG)
155
+
156
+ ```html
157
+ <ef-image
158
+ src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Crect fill='%233b82f6' width='80' height='80' rx='8'/%3E%3C/svg%3E"
159
+ duration="5s"
160
+ class="absolute top-4 right-4 w-16 h-16">
161
+ </ef-image>
162
+ ```
163
+ <!-- /html-only -->
164
+
165
+ <!-- react-only -->
166
+ ## Object Fit
167
+
168
+ ```tsx
169
+ {/* Cover - fills container, may crop */}
170
+ <Image src="/assets/photo.jpg" className="size-full object-cover" />
171
+
172
+ {/* Contain - fits within container, maintains aspect ratio */}
173
+ <Image src="/assets/photo.jpg" className="size-full object-contain" />
174
+
175
+ {/* Fill - stretches to fill */}
176
+ <Image src="/assets/photo.jpg" className="size-full object-fill" />
177
+ ```
178
+
179
+ ## Sized Images
180
+
181
+ ```tsx
182
+ <Image src="/assets/icon.png" className="w-24 h-24" />
183
+ <Image src="/assets/banner.png" className="w-full h-32" />
184
+ <Image src="/assets/square.png" className="size-64" />
185
+ ```
186
+
187
+ ## With Effects
188
+
189
+ ```tsx
190
+ {/* Blur */}
191
+ <Image src="/assets/bg.jpg" className="size-full object-cover blur-lg" />
192
+
193
+ {/* Opacity */}
194
+ <Image src="/assets/overlay.png" className="absolute inset-0 opacity-50" />
195
+
196
+ {/* Grayscale */}
197
+ <Image src="/assets/photo.jpg" className="size-full grayscale" />
198
+
199
+ {/* Rounded */}
200
+ <Image src="/assets/avatar.jpg" className="w-32 h-32 rounded-full" />
201
+ ```
202
+
203
+ ## Layered Images
204
+
205
+ ```tsx
206
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
207
+ {/* Background */}
208
+ <Image
209
+ src="/assets/bg.jpg"
210
+ className="absolute inset-0 object-cover blur-lg opacity-20"
211
+ />
212
+
213
+ {/* Foreground */}
214
+ <Image
215
+ src="/assets/main.png"
216
+ className="absolute inset-0 w-1/2 h-1/2 m-auto object-contain"
217
+ />
218
+ </Timegroup>
219
+ ```
220
+
221
+ ## Animated Image Transitions
222
+
223
+ ```tsx
224
+ import { Image } from "@editframe/react";
225
+ import { useTimingInfo } from "@editframe/react";
226
+
227
+ const FadingImage = ({ src }: { src: string }) => {
228
+ const { ref, percentComplete } = useTimingInfo();
229
+
230
+ return (
231
+ <Timegroup ref={ref} mode="fixed" duration="3s" className="absolute w-full h-full">
232
+ <Image
233
+ src={src}
234
+ className="size-full object-cover"
235
+ style={{ opacity: percentComplete }}
236
+ />
237
+ </Timegroup>
238
+ );
239
+ };
240
+ ```
241
+ <!-- /react-only -->