@editframe/create 0.44.0 → 0.45.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 (98) hide show
  1. package/dist/index.js +16 -28
  2. package/dist/index.js.map +1 -1
  3. package/dist/skills/editframe-brand-video-generator/README.md +155 -0
  4. package/dist/skills/editframe-brand-video-generator/SKILL.md +207 -0
  5. package/dist/skills/editframe-brand-video-generator/references/brand-examples.md +178 -0
  6. package/dist/skills/editframe-brand-video-generator/references/color-psychology.md +227 -0
  7. package/dist/skills/editframe-brand-video-generator/references/composition-patterns.md +383 -0
  8. package/dist/skills/editframe-brand-video-generator/references/editing.md +66 -0
  9. package/dist/skills/editframe-brand-video-generator/references/emotional-arcs.md +496 -0
  10. package/dist/skills/editframe-brand-video-generator/references/genre-selection.md +135 -0
  11. package/dist/skills/editframe-brand-video-generator/references/transition-styles.md +611 -0
  12. package/dist/skills/editframe-brand-video-generator/references/typography-personalities.md +326 -0
  13. package/dist/skills/editframe-brand-video-generator/references/video-archetypes.md +86 -0
  14. package/dist/skills/editframe-brand-video-generator/references/video-fundamentals.md +169 -0
  15. package/dist/skills/editframe-brand-video-generator/references/visual-metaphors.md +50 -0
  16. package/dist/skills/editframe-composition/SKILL.md +169 -0
  17. package/dist/skills/editframe-composition/references/audio.md +483 -0
  18. package/dist/skills/editframe-composition/references/captions.md +844 -0
  19. package/dist/skills/editframe-composition/references/composition-model.md +73 -0
  20. package/dist/skills/editframe-composition/references/configuration.md +403 -0
  21. package/dist/skills/editframe-composition/references/css-parts.md +105 -0
  22. package/dist/skills/editframe-composition/references/css-variables.md +640 -0
  23. package/dist/skills/editframe-composition/references/entry-points.md +810 -0
  24. package/dist/skills/editframe-composition/references/events.md +499 -0
  25. package/dist/skills/editframe-composition/references/getting-started.md +259 -0
  26. package/dist/skills/editframe-composition/references/hooks.md +234 -0
  27. package/dist/skills/editframe-composition/references/image.md +241 -0
  28. package/dist/skills/editframe-composition/references/r3f.md +580 -0
  29. package/dist/skills/editframe-composition/references/render-api.md +484 -0
  30. package/dist/skills/editframe-composition/references/render-strategies.md +119 -0
  31. package/dist/skills/editframe-composition/references/render-to-video.md +1101 -0
  32. package/dist/skills/editframe-composition/references/scripting.md +606 -0
  33. package/dist/skills/editframe-composition/references/sequencing.md +116 -0
  34. package/dist/skills/editframe-composition/references/server-rendering.md +753 -0
  35. package/dist/skills/editframe-composition/references/surface.md +329 -0
  36. package/dist/skills/editframe-composition/references/text.md +627 -0
  37. package/dist/skills/editframe-composition/references/time-model.md +99 -0
  38. package/dist/skills/editframe-composition/references/timegroup-modes.md +102 -0
  39. package/dist/skills/editframe-composition/references/timegroup.md +457 -0
  40. package/dist/skills/editframe-composition/references/timeline-root.md +398 -0
  41. package/dist/skills/editframe-composition/references/transcription.md +47 -0
  42. package/dist/skills/editframe-composition/references/transitions.md +608 -0
  43. package/dist/skills/editframe-composition/references/use-media-info.md +357 -0
  44. package/dist/skills/editframe-composition/references/video.md +506 -0
  45. package/dist/skills/editframe-composition/references/waveform.md +327 -0
  46. package/dist/skills/editframe-editor-gui/SKILL.md +152 -0
  47. package/dist/skills/editframe-editor-gui/references/active-root-temporal.md +657 -0
  48. package/dist/skills/editframe-editor-gui/references/canvas.md +947 -0
  49. package/dist/skills/editframe-editor-gui/references/controls.md +366 -0
  50. package/dist/skills/editframe-editor-gui/references/dial.md +756 -0
  51. package/dist/skills/editframe-editor-gui/references/editor-toolkit.md +587 -0
  52. package/dist/skills/editframe-editor-gui/references/filmstrip.md +460 -0
  53. package/dist/skills/editframe-editor-gui/references/fit-scale.md +772 -0
  54. package/dist/skills/editframe-editor-gui/references/focus-overlay.md +561 -0
  55. package/dist/skills/editframe-editor-gui/references/hierarchy.md +544 -0
  56. package/dist/skills/editframe-editor-gui/references/overlay-item.md +634 -0
  57. package/dist/skills/editframe-editor-gui/references/overlay-layer.md +429 -0
  58. package/dist/skills/editframe-editor-gui/references/pan-zoom.md +568 -0
  59. package/dist/skills/editframe-editor-gui/references/pause.md +397 -0
  60. package/dist/skills/editframe-editor-gui/references/play.md +370 -0
  61. package/dist/skills/editframe-editor-gui/references/preview.md +391 -0
  62. package/dist/skills/editframe-editor-gui/references/resizable-box.md +749 -0
  63. package/dist/skills/editframe-editor-gui/references/scrubber.md +588 -0
  64. package/dist/skills/editframe-editor-gui/references/thumbnail-strip.md +566 -0
  65. package/dist/skills/editframe-editor-gui/references/time-display.md +492 -0
  66. package/dist/skills/editframe-editor-gui/references/timeline-ruler.md +489 -0
  67. package/dist/skills/editframe-editor-gui/references/timeline.md +604 -0
  68. package/dist/skills/editframe-editor-gui/references/toggle-loop.md +618 -0
  69. package/dist/skills/editframe-editor-gui/references/toggle-play.md +526 -0
  70. package/dist/skills/editframe-editor-gui/references/transform-handles.md +924 -0
  71. package/dist/skills/editframe-editor-gui/references/trim-handles.md +725 -0
  72. package/dist/skills/editframe-editor-gui/references/workbench.md +453 -0
  73. package/dist/skills/editframe-motion-design/SKILL.md +101 -0
  74. package/dist/skills/editframe-motion-design/references/0-editframe.md +299 -0
  75. package/dist/skills/editframe-motion-design/references/1-intent.md +201 -0
  76. package/dist/skills/editframe-motion-design/references/2-physics-model.md +405 -0
  77. package/dist/skills/editframe-motion-design/references/3-attention.md +350 -0
  78. package/dist/skills/editframe-motion-design/references/4-process.md +418 -0
  79. package/dist/skills/editframe-vite-plugin/SKILL.md +75 -0
  80. package/dist/skills/editframe-vite-plugin/references/file-api.md +111 -0
  81. package/dist/skills/editframe-vite-plugin/references/getting-started.md +96 -0
  82. package/dist/skills/editframe-vite-plugin/references/jit-transcoding.md +91 -0
  83. package/dist/skills/editframe-vite-plugin/references/local-assets.md +75 -0
  84. package/dist/skills/editframe-vite-plugin/references/visual-testing.md +136 -0
  85. package/dist/skills/editframe-webhooks/SKILL.md +126 -0
  86. package/dist/skills/editframe-webhooks/references/events.md +382 -0
  87. package/dist/skills/editframe-webhooks/references/getting-started.md +232 -0
  88. package/dist/skills/editframe-webhooks/references/security.md +418 -0
  89. package/dist/skills/editframe-webhooks/references/testing.md +409 -0
  90. package/dist/skills/editframe-webhooks/references/troubleshooting.md +457 -0
  91. package/dist/templates/html/AGENTS.md +13 -0
  92. package/dist/templates/react/AGENTS.md +13 -0
  93. package/dist/utils.js +15 -16
  94. package/dist/utils.js.map +1 -1
  95. package/package.json +1 -1
  96. package/tsdown.config.ts +4 -0
  97. package/dist/detectAgent.js +0 -89
  98. package/dist/detectAgent.js.map +0 -1
@@ -0,0 +1,329 @@
1
+ ---
2
+ title: Surface Element
3
+ description: Mirror or duplicate another element's canvas output into a new position, useful for picture-in-picture and reflection effects.
4
+ type: reference
5
+ nav:
6
+ parent: "Layout & Timing"
7
+ priority: 20
8
+ related: ["timegroup"]
9
+ api:
10
+ attributes:
11
+ - name: target
12
+ type: string
13
+ required: true
14
+ description: ID of element to mirror (e.g., ef-video)
15
+ react:
16
+ generate: true
17
+ componentName: Surface
18
+ importPath: "@editframe/react"
19
+ additionalProps:
20
+ - name: className
21
+ type: string
22
+ description: CSS classes for styling
23
+ nav:
24
+ parent: "Components / Layout"
25
+ priority: 21
26
+ related: ["timegroup"]
27
+ ---
28
+
29
+ <!-- html-only -->
30
+ # ef-surface
31
+ <!-- /html-only -->
32
+ <!-- react-only -->
33
+ # Surface
34
+ <!-- /react-only -->
35
+
36
+ Mirror/duplicate of another element's canvas output.
37
+
38
+ <!-- react-only -->
39
+ ## Import
40
+
41
+ ```tsx
42
+ import { Surface } from "@editframe/react";
43
+ ```
44
+ <!-- /react-only -->
45
+
46
+ ## Basic Usage
47
+
48
+ <!-- html-only -->
49
+ ```html
50
+ <ef-video id="main-video" src="video.mp4" class="size-full"></ef-video>
51
+ <ef-surface target="main-video" class="absolute top-4 right-4 w-32 h-20 rounded-lg"></ef-surface>
52
+ ```
53
+ <!-- /html-only -->
54
+ <!-- react-only -->
55
+ ```tsx
56
+ import { Text, Surface } from "@editframe/react";
57
+
58
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
59
+ <Text id="title" duration="5s" className="text-white text-4xl">
60
+ Original Text
61
+ </Text>
62
+
63
+ <Surface
64
+ for="title"
65
+ className="absolute top-32 blur-sm opacity-50"
66
+ />
67
+ </Timegroup>
68
+ ```
69
+ <!-- /react-only -->
70
+
71
+ ## Picture-in-Picture Effect
72
+
73
+ <!-- html-only -->
74
+ Mirror video in a small preview corner.
75
+
76
+ ```html live
77
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black">
78
+ <ef-video id="main" src="https://assets.editframe.com/bars-n-tone.mp4" class="size-full object-cover"></ef-video>
79
+
80
+ <!-- PiP using surface -->
81
+ <ef-surface target="main" class="absolute bottom-4 right-4 w-48 h-28 rounded-lg border-2 border-white shadow-lg"></ef-surface>
82
+ </ef-timegroup>
83
+ ```
84
+ <!-- /html-only -->
85
+ <!-- react-only -->
86
+ ```tsx
87
+ import { Video, Surface } from "@editframe/react";
88
+
89
+ <Timegroup mode="contain" className="absolute w-full h-full">
90
+ {/* Main video */}
91
+ <Video
92
+ id="main"
93
+ src="/assets/main.mp4"
94
+ className="size-full object-cover"
95
+ />
96
+
97
+ {/* PiP using surface */}
98
+ <Surface
99
+ for="main"
100
+ className="absolute bottom-4 right-4 w-64 h-36 border-2 border-white rounded shadow-lg"
101
+ />
102
+ </Timegroup>
103
+ ```
104
+ <!-- /react-only -->
105
+
106
+ ## Video Wall Effect
107
+
108
+ <!-- html-only -->
109
+ Create grid layouts with multiple mirrors showing different filters.
110
+
111
+ ```html live
112
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] grid grid-cols-3 grid-rows-3 gap-2 p-4 bg-black">
113
+ <ef-video id="source" src="https://assets.editframe.com/bars-n-tone.mp4" class="col-span-2 row-span-2 object-cover"></ef-video>
114
+
115
+ <!-- Mirror to other grid cells with different effects -->
116
+ <ef-surface target="source" class="object-cover opacity-60"></ef-surface>
117
+ <ef-surface target="source" class="object-cover opacity-40 grayscale"></ef-surface>
118
+ <ef-surface target="source" class="object-cover opacity-60 blur-sm"></ef-surface>
119
+ <ef-surface target="source" class="object-cover opacity-40"></ef-surface>
120
+ <ef-surface target="source" class="object-cover opacity-60 hue-rotate-90"></ef-surface>
121
+ <ef-surface target="source" class="object-cover opacity-40 saturate-0"></ef-surface>
122
+ </ef-timegroup>
123
+ ```
124
+ <!-- /html-only -->
125
+ <!-- react-only -->
126
+ ```tsx
127
+ import { Video, Surface } from "@editframe/react";
128
+
129
+ <Timegroup mode="contain" className="absolute w-full h-full grid grid-cols-3 grid-rows-3 gap-2 p-4">
130
+ <Video
131
+ id="source"
132
+ src="/assets/video.mp4"
133
+ className="col-span-2 row-span-2 object-cover"
134
+ />
135
+
136
+ {/* Mirror to other grid cells */}
137
+ <Surface for="source" className="object-cover opacity-60" />
138
+ <Surface for="source" className="object-cover opacity-40 grayscale" />
139
+ <Surface for="source" className="object-cover opacity-60 blur-sm" />
140
+ <Surface for="source" className="object-cover opacity-40" />
141
+ <Surface for="source" className="object-cover opacity-60 hue-rotate-90" />
142
+ <Surface for="source" className="object-cover opacity-40 saturate-0" />
143
+ </Timegroup>
144
+ ```
145
+ <!-- /react-only -->
146
+
147
+ ## Reflection Effect
148
+
149
+ <!-- html-only -->
150
+ Create mirror reflection with vertical flip and fade.
151
+
152
+ ```html live
153
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black flex flex-col items-center justify-center">
154
+ <ef-video id="main-video" src="https://assets.editframe.com/bars-n-tone.mp4" class="w-1/2"></ef-video>
155
+
156
+ <!-- Reflection below -->
157
+ <ef-surface target="main-video" class="w-1/2 -scale-y-100 opacity-30 blur-sm" style="margin-top: 1rem;"></ef-surface>
158
+ </ef-timegroup>
159
+ ```
160
+ <!-- /html-only -->
161
+ <!-- react-only -->
162
+ ```tsx
163
+ import { Video, Surface } from "@editframe/react";
164
+
165
+ <Timegroup mode="contain" className="absolute w-full h-full bg-black flex items-center justify-center">
166
+ <Video
167
+ id="main-video"
168
+ src="/assets/clip.mp4"
169
+ className="w-1/2"
170
+ />
171
+
172
+ {/* Reflection below */}
173
+ <Surface
174
+ for="main-video"
175
+ className="w-1/2 scale-y-[-1] opacity-30 blur-sm"
176
+ style={{ marginTop: '2rem' }}
177
+ />
178
+ </Timegroup>
179
+ ```
180
+ <!-- /react-only -->
181
+
182
+ ## Blurred Background Effect
183
+
184
+ <!-- html-only -->
185
+ Use enlarged, blurred surface behind main video for cinematic look.
186
+
187
+ ```html live
188
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black">
189
+ <!-- Blurred background fill -->
190
+ <ef-surface target="main-video" class="absolute inset-0 blur-3xl opacity-30 scale-110"></ef-surface>
191
+
192
+ <!-- Main video centered -->
193
+ <ef-video id="main-video" src="https://assets.editframe.com/bars-n-tone.mp4" class="absolute inset-0 w-2/3 h-2/3 m-auto object-contain z-10"></ef-video>
194
+ </ef-timegroup>
195
+ ```
196
+ <!-- /html-only -->
197
+ <!-- react-only -->
198
+ ```tsx
199
+ import { Image, Surface } from "@editframe/react";
200
+
201
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
202
+ {/* Blurred background */}
203
+ <Surface
204
+ for="main-image"
205
+ className="absolute inset-0 blur-2xl opacity-30 scale-110"
206
+ />
207
+
208
+ {/* Main image */}
209
+ <Image
210
+ id="main-image"
211
+ src="/assets/photo.jpg"
212
+ className="absolute inset-0 w-2/3 h-2/3 m-auto object-contain z-10"
213
+ />
214
+ </Timegroup>
215
+ ```
216
+ <!-- /react-only -->
217
+
218
+ ## CSS Filter Effects
219
+
220
+ <!-- html-only -->
221
+ Apply different CSS filters to surfaces while keeping original unchanged.
222
+
223
+ ```html live
224
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] grid grid-cols-2 grid-rows-2 gap-4 p-4 bg-black">
225
+ <!-- Original -->
226
+ <ef-video id="filter-demo" src="https://assets.editframe.com/bars-n-tone.mp4" class="object-cover"></ef-video>
227
+
228
+ <!-- Grayscale -->
229
+ <ef-surface target="filter-demo" class="object-cover grayscale"></ef-surface>
230
+
231
+ <!-- Hue rotate -->
232
+ <ef-surface target="filter-demo" class="object-cover hue-rotate-180"></ef-surface>
233
+
234
+ <!-- Blur + Brightness -->
235
+ <ef-surface target="filter-demo" class="object-cover blur-md brightness-150"></ef-surface>
236
+ </ef-timegroup>
237
+ ```
238
+ <!-- /html-only -->
239
+
240
+ ## Multiple Shadow Layers
241
+
242
+ <!-- html-only -->
243
+ Stack surfaces with offsets to create depth and shadow effects.
244
+
245
+ ```html live
246
+ <ef-timegroup mode="contain" class="w-[720px] h-[480px] bg-black flex items-center justify-center">
247
+ <!-- Shadow layers -->
248
+ <ef-surface target="logo" class="absolute w-32 h-32 blur-md" style="transform: translate(-4px, -4px); filter: hue-rotate(180deg) blur(4px);"></ef-surface>
249
+ <ef-surface target="logo" class="absolute w-32 h-32 blur-md" style="transform: translate(4px, 4px); filter: hue-rotate(90deg) blur(4px);"></ef-surface>
250
+
251
+ <!-- Main image -->
252
+ <ef-image id="logo" src="https://assets.editframe.com/editframe-logo.png" class="w-32 h-32 z-10"></ef-image>
253
+ </ef-timegroup>
254
+ ```
255
+ <!-- /html-only -->
256
+ <!-- react-only -->
257
+ ```tsx
258
+ import { Image, Surface } from "@editframe/react";
259
+
260
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
261
+ <Image
262
+ id="logo"
263
+ src="/assets/logo.png"
264
+ className="absolute top-8 left-8 w-32 h-32"
265
+ />
266
+
267
+ {/* Blurred background */}
268
+ <Surface
269
+ for="logo"
270
+ className="absolute inset-0 blur-3xl opacity-20 scale-150"
271
+ />
272
+
273
+ {/* Shadow effect */}
274
+ <Surface
275
+ for="logo"
276
+ className="absolute top-10 left-10 w-32 h-32 blur-md opacity-50"
277
+ />
278
+ </Timegroup>
279
+ ```
280
+ <!-- /react-only -->
281
+
282
+ <!-- react-only -->
283
+ ## Animated Text Copies
284
+
285
+ ```tsx
286
+ import { Text, Surface } from "@editframe/react";
287
+
288
+ <Timegroup mode="fixed" duration="5s" className="absolute w-full h-full bg-black flex items-center justify-center">
289
+ {/* Original */}
290
+ <Text
291
+ id="title"
292
+ duration="5s"
293
+ className="text-white text-6xl font-bold z-10"
294
+ >
295
+ IMPACT
296
+ </Text>
297
+
298
+ {/* Shadow layers */}
299
+ <Surface
300
+ for="title"
301
+ className="absolute text-red-500 blur-sm"
302
+ style={{ transform: 'translate(-4px, -4px)' }}
303
+ />
304
+ <Surface
305
+ for="title"
306
+ className="absolute text-blue-500 blur-sm"
307
+ style={{ transform: 'translate(4px, 4px)' }}
308
+ />
309
+ </Timegroup>
310
+ ```
311
+ <!-- /react-only -->
312
+
313
+ ## Use Cases
314
+
315
+ - **Picture-in-picture** -- Show same source in preview corner
316
+ - **Video walls** -- Grid layouts with multiple mirrors
317
+ - **Reflections** -- Flip and fade for water/glass effects
318
+ - **Backgrounds** -- Blurred enlarged version behind content
319
+ - **Filter effects** -- Apply CSS filters to surfaces independently
320
+ - **Shadow layers** -- Stack offset surfaces for depth
321
+
322
+ <!-- react-only -->
323
+ ## Important Notes
324
+
325
+ - The `for` prop must match the `id` of another element
326
+ - Surface elements mirror content in real-time
327
+ - Surfaces don't affect performance significantly
328
+ - Use transforms and filters for creative effects
329
+ <!-- /react-only -->