clipwise 0.6.0 → 0.7.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.
- package/README.ko.md +31 -31
- package/README.md +72 -38
- package/dist/cli/index.js +480 -106
- package/dist/compose/frame-worker.js +85 -76
- package/dist/index.d.ts +477 -34
- package/dist/index.js +582 -129
- package/package.json +1 -1
- package/skills/clipwise.md +51 -13
package/package.json
CHANGED
package/skills/clipwise.md
CHANGED
|
@@ -64,7 +64,10 @@ steps: [] # Array of steps (min 1, first must have navigate)
|
|
|
64
64
|
- name: "Step name" # Optional label
|
|
65
65
|
captureDelay: 50 # ms to wait after actions before capturing (50-100 for snappy)
|
|
66
66
|
holdDuration: 700 # ms to hold on result (500-800 for snappy)
|
|
67
|
-
transition: none # none | fade
|
|
67
|
+
transition: none # none | fade | slide-left | slide-up | blur
|
|
68
|
+
effects: # Per-step effects override (optional)
|
|
69
|
+
zoom:
|
|
70
|
+
enabled: false # Disable zoom for this step only
|
|
68
71
|
actions: [] # Array of actions
|
|
69
72
|
```
|
|
70
73
|
|
|
@@ -168,16 +171,15 @@ steps: [] # Array of steps (min 1, first must have navigate)
|
|
|
168
171
|
|
|
169
172
|
### Effects Configuration
|
|
170
173
|
|
|
171
|
-
#### Zoom — Adaptive zoom follows cursor on clicks
|
|
174
|
+
#### Zoom — Adaptive zoom follows cursor on clicks (smart camera: auto-suppressed during scroll)
|
|
172
175
|
```yaml
|
|
173
176
|
zoom:
|
|
174
177
|
enabled: true
|
|
175
|
-
intensity:
|
|
176
|
-
# scale: 1.
|
|
177
|
-
duration:
|
|
178
|
-
easing: ease-in-out # ease-in-out | ease-in | ease-out | linear
|
|
178
|
+
intensity: light # subtle(1.15x) | light(1.25x) | moderate(1.35x) | strong(1.5x) | dramatic(1.8x)
|
|
179
|
+
# scale: 1.25 # Or use numeric value (overridden by intensity)
|
|
180
|
+
duration: 800 # Zoom animation ms
|
|
179
181
|
autoZoom:
|
|
180
|
-
followCursor: true
|
|
182
|
+
followCursor: true # Viewport pans to follow cursor position
|
|
181
183
|
transitionDuration: 300
|
|
182
184
|
padding: 200
|
|
183
185
|
```
|
|
@@ -188,7 +190,7 @@ cursor:
|
|
|
188
190
|
enabled: true
|
|
189
191
|
size: 20
|
|
190
192
|
color: "#000000"
|
|
191
|
-
speed:
|
|
193
|
+
speed: normal # fast (~72ms) | normal (~144ms) | slow (~288ms)
|
|
192
194
|
smoothing: true
|
|
193
195
|
clickEffect: true
|
|
194
196
|
clickColor: "rgba(59, 130, 246, 0.3)"
|
|
@@ -215,17 +217,16 @@ background:
|
|
|
215
217
|
```yaml
|
|
216
218
|
deviceFrame:
|
|
217
219
|
enabled: true
|
|
218
|
-
type: browser # browser |
|
|
220
|
+
type: browser # browser | iphone | ipad | android | none
|
|
219
221
|
darkMode: true
|
|
220
222
|
```
|
|
221
223
|
|
|
222
224
|
| Type | Description |
|
|
223
225
|
|------|-------------|
|
|
224
226
|
| browser | macOS browser chrome with traffic lights |
|
|
225
|
-
|
|
|
226
|
-
|
|
|
227
|
-
|
|
|
228
|
-
| android | Android with punch-hole camera |
|
|
227
|
+
| iphone | iPhone 15 Pro with Dynamic Island + home bar |
|
|
228
|
+
| ipad | iPad Pro with front camera dot |
|
|
229
|
+
| android | Android generic with punch-hole camera |
|
|
229
230
|
|
|
230
231
|
#### Keystroke HUD — Shows typed keys on screen
|
|
231
232
|
```yaml
|
|
@@ -260,6 +261,39 @@ speedRamp:
|
|
|
260
261
|
transitionFrames: 15
|
|
261
262
|
```
|
|
262
263
|
|
|
264
|
+
#### Audio Narration — Attach audio to MP4 output
|
|
265
|
+
```yaml
|
|
266
|
+
audio:
|
|
267
|
+
file: "./narration.mp3" # MP3, WAV, etc.
|
|
268
|
+
volume: 1.0 # 0.0 - 2.0 (default: 1.0)
|
|
269
|
+
fadeIn: 0 # Fade-in duration in seconds
|
|
270
|
+
fadeOut: 0 # Fade-out duration in seconds
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Per-Step Effects Override
|
|
274
|
+
|
|
275
|
+
Override global effects on a per-step basis. Unset properties inherit from global config.
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
effects:
|
|
279
|
+
zoom:
|
|
280
|
+
enabled: true
|
|
281
|
+
intensity: light
|
|
282
|
+
|
|
283
|
+
steps:
|
|
284
|
+
- name: "Overview"
|
|
285
|
+
effects:
|
|
286
|
+
zoom:
|
|
287
|
+
enabled: false # No zoom for this step
|
|
288
|
+
actions: [...]
|
|
289
|
+
|
|
290
|
+
- name: "Detail view"
|
|
291
|
+
effects:
|
|
292
|
+
zoom:
|
|
293
|
+
intensity: strong # Extra zoom for this step only
|
|
294
|
+
actions: [...]
|
|
295
|
+
```
|
|
296
|
+
|
|
263
297
|
### Output Presets
|
|
264
298
|
|
|
265
299
|
| Preset | Use case | Approx size (30s) |
|
|
@@ -277,6 +311,10 @@ speedRamp:
|
|
|
277
311
|
5. **Prefer async waits over fixed `wait`**: use `waitForSelector`, `waitForFunction`, `waitForResponse` instead of guessing durations
|
|
278
312
|
6. **Viewport = output**: if viewport and output dimensions differ, output will be scaled (a warning is shown)
|
|
279
313
|
7. **Mobile scenarios**: use `viewport: {width: 390, height: 844}` with `deviceFrame.type: iphone` and `output: {width: 540, height: 1080}`
|
|
314
|
+
8. **Per-step effects**: any effect property can be overridden per step — unset properties inherit from global config
|
|
315
|
+
9. **Smart camera**: zoom is automatically suppressed during scroll actions; `followCursor` pans to cursor position
|
|
316
|
+
10. **Transitions**: use `fade` or `blur` for cinematic cuts between major sections; `slide-left`/`slide-up` for sequential flows
|
|
317
|
+
11. **Audio**: audio file must exist at the specified path; only works with MP4 output format
|
|
280
318
|
|
|
281
319
|
## Timing Presets
|
|
282
320
|
|