clipwise 0.4.1 → 0.5.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 +26 -11
- package/README.md +23 -10
- package/dist/cli/index.js +292 -100
- package/dist/compose/frame-worker.js +81 -41
- package/dist/index.d.ts +152 -6
- package/dist/index.js +293 -99
- package/package.json +1 -1
package/README.ko.md
CHANGED
|
@@ -8,7 +8,7 @@ YAML 시나리오를 작성하면 시네마틱 데모 영상(MP4/GIF)을 자동
|
|
|
8
8
|
<img src="https://kwakseongjae.github.io/clipwise/demo.gif" alt="Clipwise 데모" width="100%" />
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
> *`npx clipwise demo` 한 줄로 생성된
|
|
11
|
+
> *`npx clipwise demo` 한 줄로 생성된 영상입니다 — YAML 파일 1개, 239줄.*
|
|
12
12
|
|
|
13
13
|
## 빠른 시작
|
|
14
14
|
|
|
@@ -184,15 +184,25 @@ steps:
|
|
|
184
184
|
|
|
185
185
|
### 줌
|
|
186
186
|
|
|
187
|
-
적응형 줌 — 커서를 따라가며 클릭 대상에 자동 줌인.
|
|
187
|
+
적응형 줌 — 커서를 따라가며 클릭 대상에 자동 줌인. 강도 프리셋 또는 숫자 스케일로 설정.
|
|
188
188
|
|
|
189
189
|
```yaml
|
|
190
190
|
zoom:
|
|
191
191
|
enabled: true
|
|
192
|
-
|
|
192
|
+
intensity: moderate # subtle | light | moderate | strong | dramatic
|
|
193
|
+
# 1.15x | 1.25x | 1.35x | 1.5x | 1.8x
|
|
194
|
+
# scale: 1.35 # 숫자로 직접 지정할 때 사용 (intensity 미설정 시)
|
|
193
195
|
duration: 500 # 애니메이션 ms
|
|
194
196
|
```
|
|
195
197
|
|
|
198
|
+
| 강도 | 스케일 | 권장 사용처 |
|
|
199
|
+
|------|--------|------------|
|
|
200
|
+
| `subtle` | 1.15× | 정보 밀도 높은 UI, 큰 화면 |
|
|
201
|
+
| `light` | 1.25× | Loom 스타일 부드러운 줌 (권장) |
|
|
202
|
+
| `moderate` | 1.35× | 균형잡힌 기본값 (Camtasia 수준) |
|
|
203
|
+
| `strong` | 1.5× | 명확한 포커스 |
|
|
204
|
+
| `dramatic` | 1.8× | 최대 강조, 단순 UI 전용 |
|
|
205
|
+
|
|
196
206
|
### 커서
|
|
197
207
|
|
|
198
208
|
커스텀 커서 + 클릭 리플 + 트레일 + 하이라이트 + 속도 조절.
|
|
@@ -240,13 +250,17 @@ deviceFrame:
|
|
|
240
250
|
|
|
241
251
|
### 키스트로크 HUD
|
|
242
252
|
|
|
243
|
-
타이핑 내용을
|
|
253
|
+
화면 하단에 타이핑 내용을 표시하는 HUD. 기본값은 수정키+단축키만 표시 (Screen Studio, KeyCastr, ScreenFlow 등 업계 표준). `showTyping: true`로 일반 타이핑 내용도 표시 가능.
|
|
254
|
+
|
|
255
|
+
여러 입력 필드에 걸쳐 입력할 때는 각 필드가 별도 줄로 표시됩니다 (최대 3줄, 오래된 줄은 흐리게).
|
|
244
256
|
|
|
245
257
|
```yaml
|
|
246
258
|
keystroke:
|
|
247
259
|
enabled: true
|
|
260
|
+
showTyping: true # 타이핑 내용 표시 (기본값: false — 단축키만)
|
|
248
261
|
position: bottom-center
|
|
249
262
|
fontSize: 16
|
|
263
|
+
fadeAfter: 1500
|
|
250
264
|
```
|
|
251
265
|
|
|
252
266
|
### 워터마크
|
|
@@ -276,16 +290,17 @@ speedRamp:
|
|
|
276
290
|
|
|
277
291
|
**Apple M1 Max (10코어)** 기준 — Pulse Dashboard 데모, 44초 @ 30fps, 1280×800:
|
|
278
292
|
|
|
279
|
-
| 단계 | v0.3.0 | v0.4.0 |
|
|
280
|
-
|
|
281
|
-
| 녹화 | 30.8 s | 31.1 s |
|
|
282
|
-
| 합성 + 인코딩 | 97.2 s | 60.6 s |
|
|
283
|
-
| **전체** | **127.9 s** | **91.7 s** |
|
|
284
|
-
|
|
|
285
|
-
| 캡처 프레임 수 | 1,303 | 902 | −31% (중복 제거) |
|
|
293
|
+
| 단계 | v0.3.0 | v0.4.0 | v0.5.0 |
|
|
294
|
+
|------|--------|--------|--------|
|
|
295
|
+
| 녹화 | 30.8 s | 31.1 s | 31.1 s |
|
|
296
|
+
| 합성 + 인코딩 | 97.2 s | 60.6 s | 60.6 s |
|
|
297
|
+
| **전체** | **127.9 s** | **91.7 s** | **91.7 s** |
|
|
298
|
+
| 캡처 프레임 수 | 1,303 | 902 | 902 |
|
|
286
299
|
|
|
287
300
|
v0.4.0 주요 최적화: 동시 스트리밍 파이프라인, 정적 프레임 중복 제거(~33% 건너뜀), 워커별 StaticLayers 캐시, raw RGBA 버퍼 파이프라인.
|
|
288
301
|
|
|
302
|
+
v0.5.0은 **녹화 품질** 개선에 집중: CSS 트랜지션 억제로 커서 부드러운 이동, 줌 강도 프리셋, 멀티세션 키스트로크 HUD.
|
|
303
|
+
|
|
289
304
|
## 출력 압축
|
|
290
305
|
|
|
291
306
|
`preset` 필드로 화질과 파일 크기를 조절합니다:
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Scriptable cinematic screen recorder for product demos — YAML in, polished MP4
|
|
|
8
8
|
<img src="https://kwakseongjae.github.io/clipwise/demo.gif" alt="Clipwise demo" width="100%" />
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
|
-
> *Generated with `npx clipwise demo` —
|
|
11
|
+
> *Generated with `npx clipwise demo` — 1 YAML file, 239 lines, one command.*
|
|
12
12
|
|
|
13
13
|
## Quick Start
|
|
14
14
|
|
|
@@ -189,15 +189,24 @@ Adaptive zoom follows cursor and zooms in on click targets.
|
|
|
189
189
|
```yaml
|
|
190
190
|
zoom:
|
|
191
191
|
enabled: true
|
|
192
|
-
|
|
192
|
+
intensity: moderate # subtle | light | moderate | strong | dramatic
|
|
193
|
+
# 1.15x | 1.25x | 1.35x | 1.5x | 1.8x
|
|
194
|
+
# scale: 1.35 # Override with a numeric value instead of intensity
|
|
193
195
|
duration: 500 # Zoom animation ms
|
|
194
196
|
autoZoom:
|
|
195
197
|
followCursor: true
|
|
196
|
-
maxScale: 2.0
|
|
197
198
|
transitionDuration: 300
|
|
198
199
|
padding: 200
|
|
199
200
|
```
|
|
200
201
|
|
|
202
|
+
| Intensity | Scale | Best for |
|
|
203
|
+
|-----------|-------|----------|
|
|
204
|
+
| `subtle` | 1.15× | Dense UIs, large viewports |
|
|
205
|
+
| `light` | 1.25× | Loom-style gentle pull-in (recommended) |
|
|
206
|
+
| `moderate` | 1.35× | Balanced default — Camtasia range |
|
|
207
|
+
| `strong` | 1.5× | Clear focus, some context sacrificed |
|
|
208
|
+
| `dramatic` | 1.8× | Maximum emphasis, sparse UIs only |
|
|
209
|
+
|
|
201
210
|
### Cursor
|
|
202
211
|
|
|
203
212
|
Custom cursor with click ripple, trail, glow highlight, and speed control.
|
|
@@ -248,11 +257,14 @@ deviceFrame:
|
|
|
248
257
|
|
|
249
258
|
### Keystroke HUD
|
|
250
259
|
|
|
251
|
-
Displays
|
|
260
|
+
Displays a HUD at the bottom of the screen showing what was typed. By default, only modifier+key shortcuts are shown (industry standard — same as Screen Studio, KeyCastr, ScreenFlow). Set `showTyping: true` to also show regular typed text.
|
|
261
|
+
|
|
262
|
+
When typing across multiple input fields, each field gets its own line in the HUD (up to 3 recent sessions, oldest dimmed at top, newest bright at bottom).
|
|
252
263
|
|
|
253
264
|
```yaml
|
|
254
265
|
keystroke:
|
|
255
266
|
enabled: true
|
|
267
|
+
showTyping: true # show typed text (default: false — shortcuts only)
|
|
256
268
|
position: bottom-center
|
|
257
269
|
fontSize: 16
|
|
258
270
|
fadeAfter: 1500
|
|
@@ -285,16 +297,17 @@ speedRamp:
|
|
|
285
297
|
|
|
286
298
|
Measured on **Apple M1 Max (10 cores)** — Pulse Dashboard demo, 44s @ 30fps, 1280×800:
|
|
287
299
|
|
|
288
|
-
| Stage | v0.3.0 | v0.4.0 |
|
|
300
|
+
| Stage | v0.3.0 | v0.4.0 | v0.5.0 |
|
|
289
301
|
|-------|--------|--------|--------|
|
|
290
|
-
| Recording | 30.8 s | 31.1 s |
|
|
291
|
-
| Compose + Encode | 97.2 s | 60.6 s |
|
|
292
|
-
| **Total** | **127.9 s** | **91.7 s** |
|
|
293
|
-
|
|
|
294
|
-
| Frames captured | 1,303 | 902 | −31% (dedup) |
|
|
302
|
+
| Recording | 30.8 s | 31.1 s | 31.1 s |
|
|
303
|
+
| Compose + Encode | 97.2 s | 60.6 s | 60.6 s |
|
|
304
|
+
| **Total** | **127.9 s** | **91.7 s** | **91.7 s** |
|
|
305
|
+
| Frames captured | 1,303 | 902 | 902 |
|
|
295
306
|
|
|
296
307
|
Key optimisations in v0.4.0: concurrent streaming pipeline, static frame deduplication (~33% skipped), per-worker StaticLayers cache, and raw RGBA buffer pipeline.
|
|
297
308
|
|
|
309
|
+
v0.5.0 focuses on **recording quality** rather than throughput: smooth cursor movement (CSS transition suppression), zoom intensity presets, and multi-session keystroke HUD.
|
|
310
|
+
|
|
298
311
|
## Output Compression
|
|
299
312
|
|
|
300
313
|
Use the `preset` field to control quality and file size:
|