@cloudglue/tinycloud 0.3.12 → 0.3.13

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.md CHANGED
@@ -17,11 +17,11 @@ The npm package is a small launcher: on first run it downloads the matching
17
17
  platform distribution from Cloudglue's CDN (cached under
18
18
  `~/.tinycloud/versions/<version>/`), verifies its checksum, and execs the real
19
19
  binary. The package version pins the binary version, so
20
- `npx @cloudglue/tinycloud@0.3.12` always runs tinycloud 0.3.12. It also adds two
20
+ `npx @cloudglue/tinycloud@0.3.13` always runs tinycloud 0.3.13. It also adds two
21
21
  wrapper commands:
22
22
 
23
23
  ```bash
24
- tinycloud install --version 0.3.12 # pre-download a version
24
+ tinycloud install --version 0.3.13 # pre-download a version
25
25
  tinycloud install --latest # install latest stable and pin to it
26
26
  tinycloud update # move to latest stable, prune old versions
27
27
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudglue/tinycloud",
3
- "version": "0.3.12",
3
+ "version": "0.3.13",
4
4
  "description": "Agent CLI for deep video and image work, by Cloudglue. Downloads the tinycloud binary on first run.",
5
5
  "bin": {
6
6
  "tinycloud": "bin/tinycloud.js"
@@ -206,9 +206,11 @@ Authoring your own recipes: [reference/workflow-authoring.md](reference/workflow
206
206
  `data.embed_snippet` (`<cg-video>`), which only plays on a private site of
207
207
  the same account. When writing HTML around an embed, use the component's
208
208
  built-ins (`autoplay`+`muted`, `loop`, `start-time`, `exclusive`,
209
+ `playbackrates` — speed-menu rates, default `1 1.5 2`, shown at every
210
+ player size; embed v7 —
209
211
  `clip-start`/`clip-end` to frame one "back to moment" clip — plus
210
212
  `clip-only`, 0.3.8+, to play nothing but that window; JS
211
- `playSegment(start, end?)`) and the container components
213
+ `playSegment(start, end?)`, `playbackRate` get/set) and the container components
212
214
  (`<cg-playlist>`, `<cg-grid>`, `<cg-chapters>`) rather than hand-rolled
213
215
  players, galleries, or segment-list JS — details in
214
216
  [reference/verbs.md](reference/verbs.md).
@@ -122,9 +122,11 @@ connector?" or an envelope field needs explaining.
122
122
  embed via the `data.embed_snippet` `<cg-video>` tag, which only plays on a
123
123
  private published site of the same account. The embed has playback
124
124
  attributes (`autoplay`+`muted`, `loop`, `start-time`, `poster`,
125
- `accent-color`, `exclusive`, and `clip-start`/`clip-end` to frame a single
125
+ `accent-color`, `exclusive`, `playbackrates` space-separated
126
+ playback-speed-menu rates, default `1 1.5 2`, shown at every player size
127
+ (sites embed v7) — and `clip-start`/`clip-end` to frame a single
126
128
  "back to moment" clip — `clip-only`, 0.3.8+, plays nothing but that
127
- window) and a JS API (`playSegment`, `seekTo`, media
129
+ window) and a JS API (`playSegment`, `seekTo`, `playbackRate` get/set, media
128
130
  events re-dispatched on the element) for custom site HTML, and plays
129
131
  standalone or inside the container components (`<cg-playlist>`,
130
132
  `<cg-grid>`, `<cg-chapters>`) — see reference/verbs.md.
@@ -390,13 +390,25 @@ When generating custom site HTML around a `<cg-video>` embed, use the
390
390
  component's built-ins instead of reinventing them. It defaults to a
391
391
  responsive 16:9 dark placeholder (override with plain page CSS on the
392
392
  `cg-video` selector); mount-time attributes: `autoplay` (pair with `muted` or
393
- browsers block it), `loop`, `start-time`, `poster`, `accent-color`, and
393
+ browsers block it), `loop`, `start-time`, `poster`, `accent-color`,
394
+ `playbackrates` (speed menu — next paragraph), and
394
395
  `exclusive` (put it on every player in a gallery so starting one pauses the
395
396
  rest). Its JS API queues until ready — `playSegment(start, end?)`,
396
- `seekTo()`, `play()`/`pause()` — and media events are re-dispatched on the
397
+ `seekTo()`, `play()`/`pause()`, `playbackRate` (get/set) — and media events
398
+ are re-dispatched on the
397
399
  element (`timeupdate`, `ended`, `cg-ready`); prefer `playSegment` over
398
400
  hand-rolled seek logic for "click a moment to play that segment" pages.
399
401
 
402
+ Playback speed (sites embed v7): every `<cg-video>` shows a playback-speed
403
+ menu at every player size — including narrow grid cells and phones — with
404
+ default rates `1 1.5 2`. Supply your own list with the space-separated
405
+ `playbackrates` attribute (e.g. `playbackrates="0.5 1 1.5 2"`), and get/set
406
+ the speed from page code via the `playbackRate` JS property (safe to set
407
+ before mount; non-positive and non-numeric values are ignored — the viewer
408
+ can always change it from the menu). The speed menu ships in the
409
+ Cloudglue-served embed script, so it is not gated on a tinycloud version and
410
+ already-published sites pick it up without republishing.
411
+
400
412
  To frame a single moment inside the full recording — a cited highlight you
401
413
  want to share on its own — add `clip-start`/`clip-end` (seconds) to a bare
402
414
  `<cg-video>`: the player draws a clip-length badge, a clip-region strip with a
@@ -1,5 +1,5 @@
1
1
  {
2
- "skill_version": "0.3.12",
2
+ "skill_version": "0.3.13",
3
3
  "tinycloud": {
4
4
  "min_version": "0.3.12",
5
5
  "supported_range": ">=0.3.12 <0.4.0",