@vosjs/cli 0.53.2 → 0.53.3
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vosjs/cli",
|
|
3
|
-
"version": "0.53.
|
|
3
|
+
"version": "0.53.3",
|
|
4
4
|
"description": "The vos CLI: record the real product from a scripted browser flow, auto-zoom from the cursor track, cut as data in doc.json, render deterministic video and stills, deliver a release's media per destination spec, and sync with vos.so. One binary, every verb, MIT.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/skills/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.9.
|
|
1
|
+
0.9.1
|
package/skills/vos-port/SKILL.md
CHANGED
|
@@ -60,8 +60,11 @@ not in `node_modules`.
|
|
|
60
60
|
(`@vosjs/cli` 0.52+). Never a `data:` URI in an audio element.
|
|
61
61
|
8. **Faces from the catalog.** `fonts: [{ family, weight, url }]` with
|
|
62
62
|
`https://assets.vos.so/fonts/<slug>/<weight>.woff2` (`GET
|
|
63
|
-
https://vos.so/api/fonts`).
|
|
64
|
-
|
|
63
|
+
https://vos.so/api/fonts`). An italic the catalog hosts is in the
|
|
64
|
+
family's `italicFiles` (`<weight>-italic.woff2`): declare it as its own
|
|
65
|
+
entry with `style: 'italic'` and set `font.style: 'italic'` on the
|
|
66
|
+
element. A face the catalog lacks is SUBSTITUTED and the substitution is
|
|
67
|
+
said in the push note.
|
|
65
68
|
|
|
66
69
|
## The coordinates, measured (these cost the reference port three rounds)
|
|
67
70
|
|
|
@@ -73,15 +76,17 @@ not in `node_modules`.
|
|
|
73
76
|
- **`rotation` is degrees, counter-clockwise**: CSS `rotate(12deg)` is
|
|
74
77
|
`rotation: -12`.
|
|
75
78
|
- **A static offset goes in the config**, `transform: { translateX,
|
|
76
|
-
translateY }` in design pixels,
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
79
|
+
translateY }` in design pixels, and motion on `props.x/y`. A re-raster
|
|
80
|
+
(new words, a new colour) keeps the offset a tween added from
|
|
81
|
+
`@vosjs/elements` 0.8.3; before it the element snapped back to its
|
|
82
|
+
config position.
|
|
83
|
+
- **Text that `onFrame` writes is in its own frame** from `@vosjs/core`
|
|
84
|
+
0.25.2: a scramble or a counter written into `props.content` shows in
|
|
85
|
+
`vos still`, the vos.so thumbnail and every exported frame. Before it the
|
|
86
|
+
text landed a frame late in video and a still showed another frame's
|
|
87
|
+
words, so a program compiled earlier gains the fix on its next push.
|
|
88
|
+
Still choose the program's cover (`vos push --still <t>`, cli 0.53+) at
|
|
89
|
+
the moment that sells it.
|
|
85
90
|
- **Transform origin is the centre.** Remotion's `transformOrigin: 'right
|
|
86
91
|
center'` with `scaleX` becomes a centre scale plus an `x` tween that keeps
|
|
87
92
|
the right edge still: `{ scaleX: 0, x: x0 + (width / 2) * k }`.
|
|
@@ -166,9 +171,8 @@ approximation.
|
|
|
166
171
|
```
|
|
167
172
|
|
|
168
173
|
A number does not catch a missing element: look at every side-by-side.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
rendered frame.
|
|
174
|
+
Text that `onFrame` writes is in the still too (core 0.25.2+); on an
|
|
175
|
+
older CLI check it in a rendered frame.
|
|
172
176
|
6. **Knob honesty**: one `--set data.<key>=<value>` still per param.
|
|
173
177
|
7. **Push** with the score: `vos push config.json --folder <slug> --label
|
|
174
178
|
"port of <source>" --note "<what was substituted, what is a painter>"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- Generated by scripts/build-element-reference.mjs from @vosjs/core 0.25.
|
|
1
|
+
<!-- Generated by scripts/build-element-reference.mjs from @vosjs/core 0.25.2, @vosjs/elements 0.8.3 and @vosjs/timeline 0.4.1. Do not edit by hand: re-run the script. -->
|
|
2
2
|
|
|
3
3
|
# Elements, the context and eases: the declarations
|
|
4
4
|
|
|
@@ -327,13 +327,20 @@ elements.
|
|
|
327
327
|
* GSAP-animatable properties exposed on each element instance
|
|
328
328
|
*/
|
|
329
329
|
interface ElementProps {
|
|
330
|
+
/**
|
|
331
|
+
* RENDER pixels from the frame centre, x right, y DOWN. Unlike every config
|
|
332
|
+
* number (design px of a 1080-high frame), so an offset authored in design
|
|
333
|
+
* px is scaled: `x0 + dx * (ctx.resolution.height / 1080)`.
|
|
334
|
+
*/
|
|
330
335
|
x: number;
|
|
336
|
+
/** RENDER pixels from the frame centre, y DOWN (see `x`). */
|
|
331
337
|
y: number;
|
|
332
338
|
z: number;
|
|
333
339
|
opacity: number;
|
|
334
340
|
scale: number;
|
|
335
341
|
scaleX: number;
|
|
336
342
|
scaleY: number;
|
|
343
|
+
/** Degrees, counter-clockwise (CSS `rotate(12deg)` is `rotation: -12`). */
|
|
337
344
|
rotation: number;
|
|
338
345
|
rotationX: number;
|
|
339
346
|
rotationY: number;
|
|
@@ -389,6 +396,12 @@ interface ElementInstance {
|
|
|
389
396
|
* face landing after first paint re-draws over the fallback stack).
|
|
390
397
|
*/
|
|
391
398
|
refreshRaster?: () => boolean;
|
|
399
|
+
/**
|
|
400
|
+
* Apply queued raster writes now. The engine's frame calls it for every
|
|
401
|
+
* element after onFrame and before the draw, so text written in a frame is
|
|
402
|
+
* in that frame (stills included). A no-op when nothing is queued.
|
|
403
|
+
*/
|
|
404
|
+
flushRaster?: () => void;
|
|
392
405
|
/** Re-rasterize canvas-backed textures for a new output resolution */
|
|
393
406
|
updateResolution?: (resolution: unknown) => boolean;
|
|
394
407
|
/** Remove element from scene */
|
|
@@ -110,8 +110,8 @@ const config = {
|
|
|
110
110
|
{
|
|
111
111
|
id: 'subtitle',
|
|
112
112
|
type: 'text',
|
|
113
|
-
// Bound to the full words: onFrame writes each frame's string
|
|
114
|
-
//
|
|
113
|
+
// Bound to the full words: onFrame writes each frame's string over
|
|
114
|
+
// them, and a knob on `subtitle` changes what the scramble resolves to.
|
|
115
115
|
content: { $data: 'subtitle' },
|
|
116
116
|
font: { family: 'JetBrains Mono', size: 26, weight: 500, color: { $data: 'paper' }, letterSpacing: 6 },
|
|
117
117
|
position: 'center',
|