@m0saic/templates 0.2.0 → 0.3.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.
Files changed (28) hide show
  1. package/LICENSE +12 -12
  2. package/README.md +7 -7
  3. package/dist/m0saic/alpine/contributor-table/v1/assets/README.md +13 -13
  4. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-lite.m0 +9 -9
  5. package/dist/m0saic/alpine/contributor-table/v1/assets/layout-standard.m0 +9 -9
  6. package/dist/m0saic/benchmark/battery/assets/media/README.md +16 -16
  7. package/dist/m0saic/benchmark/battery/assets/scenarios/duration-long.mosaic +80 -80
  8. package/dist/m0saic/benchmark/battery/assets/scenarios/encoders-base.mosaic +32 -32
  9. package/dist/m0saic/benchmark/battery/assets/scenarios/geometry-grid.mosaic +592 -592
  10. package/dist/m0saic/benchmark/battery/assets/scenarios/lifetime-window-fade.mosaic +28 -28
  11. package/dist/m0saic/benchmark/battery/assets/scenarios/real-bar-graph.mosaic +1979 -1979
  12. package/dist/m0saic/benchmark/battery/assets/scenarios/real-donut.mosaic +796 -796
  13. package/dist/m0saic/benchmark/battery/assets/scenarios/real-screencap-grid.mosaic +4590 -4590
  14. package/dist/m0saic/benchmark/battery/assets/scenarios/real-stat-card.mosaic +186 -186
  15. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-audio.mosaic +31 -31
  16. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-lavfi.mosaic +32 -32
  17. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-media.mosaic +73 -73
  18. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-nested.mosaic +48 -48
  19. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-ref.mosaic +24 -24
  20. package/dist/m0saic/benchmark/battery/assets/scenarios/sources-text.mosaic +120 -120
  21. package/dist/m0saic/benchmark/report/v1/assets/sample-session/benchmark.json +41 -41
  22. package/dist/m0saic/brand/qr-stamp/assets/brand-qr-with-logo.svg +7 -7
  23. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/bake-fin-qr.sh +11 -11
  24. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/scatter-layout.m0p +5146 -5146
  25. package/dist/m0saic/hero/ffmpeg-pulse/_shared/assets/title-layout.m0p +130 -130
  26. package/dist/m0saic/media/blur-regions/v1/tutorial.d.ts +8 -1
  27. package/dist/m0saic/media/blur-regions/v1/tutorial.js +36 -7
  28. package/package.json +6 -6
@@ -1,48 +1,48 @@
1
- {
2
- "_comment": "Benchmark · sources/nested: a nested mosaic child rendered then composited into the parent. Stresses recursive render.",
3
- "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
- "kind": "mosaic_document",
5
- "version": 1,
6
- "m0": "2(1,1)",
7
- "fps": 30,
8
- "durationMs": 8000,
9
- "size": {
10
- "width": 1920,
11
- "height": 1080
12
- },
13
- "assets": {},
14
- "children": {
15
- "child-grid": {
16
- "kind": "mosaic_document",
17
- "version": 1,
18
- "m0": "2(1,1)",
19
- "fps": 30,
20
- "durationMs": 8000,
21
- "size": {
22
- "width": 960,
23
- "height": 1080
24
- },
25
- "assets": {},
26
- "sources": [
27
- {
28
- "type": "lavfi",
29
- "lavfi": "mandelbrot"
30
- },
31
- {
32
- "type": "lavfi",
33
- "color": "#3f8efc"
34
- }
35
- ]
36
- }
37
- },
38
- "sources": [
39
- {
40
- "type": "mosaic",
41
- "ref": "child-grid"
42
- },
43
- {
44
- "type": "lavfi",
45
- "color": "#eb6f92"
46
- }
47
- ]
48
- }
1
+ {
2
+ "_comment": "Benchmark · sources/nested: a nested mosaic child rendered then composited into the parent. Stresses recursive render.",
3
+ "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
+ "kind": "mosaic_document",
5
+ "version": 1,
6
+ "m0": "2(1,1)",
7
+ "fps": 30,
8
+ "durationMs": 8000,
9
+ "size": {
10
+ "width": 1920,
11
+ "height": 1080
12
+ },
13
+ "assets": {},
14
+ "children": {
15
+ "child-grid": {
16
+ "kind": "mosaic_document",
17
+ "version": 1,
18
+ "m0": "2(1,1)",
19
+ "fps": 30,
20
+ "durationMs": 8000,
21
+ "size": {
22
+ "width": 960,
23
+ "height": 1080
24
+ },
25
+ "assets": {},
26
+ "sources": [
27
+ {
28
+ "type": "lavfi",
29
+ "lavfi": "mandelbrot"
30
+ },
31
+ {
32
+ "type": "lavfi",
33
+ "color": "#3f8efc"
34
+ }
35
+ ]
36
+ }
37
+ },
38
+ "sources": [
39
+ {
40
+ "type": "mosaic",
41
+ "ref": "child-grid"
42
+ },
43
+ {
44
+ "type": "lavfi",
45
+ "color": "#eb6f92"
46
+ }
47
+ ]
48
+ }
@@ -1,24 +1,24 @@
1
- {
2
- "_comment": "Benchmark · sources/ref: cell 1 mirrors cell 0 via a MosaicRefSource (back-edge). Stresses ref tap/reuse.",
3
- "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
- "kind": "mosaic_document",
5
- "version": 1,
6
- "m0": "2(1,1)",
7
- "fps": 30,
8
- "durationMs": 8000,
9
- "size": {
10
- "width": 1920,
11
- "height": 1080
12
- },
13
- "assets": {},
14
- "sources": [
15
- {
16
- "type": "lavfi",
17
- "lavfi": "mandelbrot"
18
- },
19
- {
20
- "type": "ref",
21
- "flattenedStableKey": "r/fc0"
22
- }
23
- ]
24
- }
1
+ {
2
+ "_comment": "Benchmark · sources/ref: cell 1 mirrors cell 0 via a MosaicRefSource (back-edge). Stresses ref tap/reuse.",
3
+ "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
+ "kind": "mosaic_document",
5
+ "version": 1,
6
+ "m0": "2(1,1)",
7
+ "fps": 30,
8
+ "durationMs": 8000,
9
+ "size": {
10
+ "width": 1920,
11
+ "height": 1080
12
+ },
13
+ "assets": {},
14
+ "sources": [
15
+ {
16
+ "type": "lavfi",
17
+ "lavfi": "mandelbrot"
18
+ },
19
+ {
20
+ "type": "ref",
21
+ "flattenedStableKey": "r/fc0"
22
+ }
23
+ ]
24
+ }
@@ -1,120 +1,120 @@
1
- {
2
- "_comment": "Benchmark · sources/text: four rasterized text tiles. Stresses the text→image path.",
3
- "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
- "kind": "mosaic_document",
5
- "version": 1,
6
- "m0": "2[2(1,1),2(1,1)]",
7
- "fps": 30,
8
- "durationMs": 8000,
9
- "size": {
10
- "width": 1920,
11
- "height": 1080
12
- },
13
- "assets": {},
14
- "sources": [
15
- {
16
- "type": "text",
17
- "style": {
18
- "fontSize": 96,
19
- "fontColor": "#ffffff",
20
- "fontFamily": "Arial"
21
- },
22
- "layers": [
23
- {
24
- "content": {
25
- "kind": "literal",
26
- "text": "m0saic"
27
- }
28
- }
29
- ],
30
- "placement": {
31
- "hAlign": "center",
32
- "vAlign": "middle"
33
- },
34
- "visual": {
35
- "backgroundColor": "#0033aa"
36
- },
37
- "renderMode": {
38
- "kind": "image"
39
- }
40
- },
41
- {
42
- "type": "text",
43
- "style": {
44
- "fontSize": 96,
45
- "fontColor": "#ffffff",
46
- "fontFamily": "Arial"
47
- },
48
- "layers": [
49
- {
50
- "content": {
51
- "kind": "literal",
52
- "text": "benchmark"
53
- }
54
- }
55
- ],
56
- "placement": {
57
- "hAlign": "center",
58
- "vAlign": "middle"
59
- },
60
- "visual": {
61
- "backgroundColor": "#0033aa"
62
- },
63
- "renderMode": {
64
- "kind": "image"
65
- }
66
- },
67
- {
68
- "type": "text",
69
- "style": {
70
- "fontSize": 96,
71
- "fontColor": "#ffffff",
72
- "fontFamily": "Arial"
73
- },
74
- "layers": [
75
- {
76
- "content": {
77
- "kind": "literal",
78
- "text": "render"
79
- }
80
- }
81
- ],
82
- "placement": {
83
- "hAlign": "center",
84
- "vAlign": "middle"
85
- },
86
- "visual": {
87
- "backgroundColor": "#0033aa"
88
- },
89
- "renderMode": {
90
- "kind": "image"
91
- }
92
- },
93
- {
94
- "type": "text",
95
- "style": {
96
- "fontSize": 96,
97
- "fontColor": "#ffffff",
98
- "fontFamily": "Arial"
99
- },
100
- "layers": [
101
- {
102
- "content": {
103
- "kind": "literal",
104
- "text": "speed"
105
- }
106
- }
107
- ],
108
- "placement": {
109
- "hAlign": "center",
110
- "vAlign": "middle"
111
- },
112
- "visual": {
113
- "backgroundColor": "#0033aa"
114
- },
115
- "renderMode": {
116
- "kind": "image"
117
- }
118
- }
119
- ]
120
- }
1
+ {
2
+ "_comment": "Benchmark · sources/text: four rasterized text tiles. Stresses the text→image path.",
3
+ "_generated": "baked by tools/bake-benchmark-battery.mjs — frozen workload, edit via the baker + a set version bump",
4
+ "kind": "mosaic_document",
5
+ "version": 1,
6
+ "m0": "2[2(1,1),2(1,1)]",
7
+ "fps": 30,
8
+ "durationMs": 8000,
9
+ "size": {
10
+ "width": 1920,
11
+ "height": 1080
12
+ },
13
+ "assets": {},
14
+ "sources": [
15
+ {
16
+ "type": "text",
17
+ "style": {
18
+ "fontSize": 96,
19
+ "fontColor": "#ffffff",
20
+ "fontFamily": "Arial"
21
+ },
22
+ "layers": [
23
+ {
24
+ "content": {
25
+ "kind": "literal",
26
+ "text": "m0saic"
27
+ }
28
+ }
29
+ ],
30
+ "placement": {
31
+ "hAlign": "center",
32
+ "vAlign": "middle"
33
+ },
34
+ "visual": {
35
+ "backgroundColor": "#0033aa"
36
+ },
37
+ "renderMode": {
38
+ "kind": "image"
39
+ }
40
+ },
41
+ {
42
+ "type": "text",
43
+ "style": {
44
+ "fontSize": 96,
45
+ "fontColor": "#ffffff",
46
+ "fontFamily": "Arial"
47
+ },
48
+ "layers": [
49
+ {
50
+ "content": {
51
+ "kind": "literal",
52
+ "text": "benchmark"
53
+ }
54
+ }
55
+ ],
56
+ "placement": {
57
+ "hAlign": "center",
58
+ "vAlign": "middle"
59
+ },
60
+ "visual": {
61
+ "backgroundColor": "#0033aa"
62
+ },
63
+ "renderMode": {
64
+ "kind": "image"
65
+ }
66
+ },
67
+ {
68
+ "type": "text",
69
+ "style": {
70
+ "fontSize": 96,
71
+ "fontColor": "#ffffff",
72
+ "fontFamily": "Arial"
73
+ },
74
+ "layers": [
75
+ {
76
+ "content": {
77
+ "kind": "literal",
78
+ "text": "render"
79
+ }
80
+ }
81
+ ],
82
+ "placement": {
83
+ "hAlign": "center",
84
+ "vAlign": "middle"
85
+ },
86
+ "visual": {
87
+ "backgroundColor": "#0033aa"
88
+ },
89
+ "renderMode": {
90
+ "kind": "image"
91
+ }
92
+ },
93
+ {
94
+ "type": "text",
95
+ "style": {
96
+ "fontSize": 96,
97
+ "fontColor": "#ffffff",
98
+ "fontFamily": "Arial"
99
+ },
100
+ "layers": [
101
+ {
102
+ "content": {
103
+ "kind": "literal",
104
+ "text": "speed"
105
+ }
106
+ }
107
+ ],
108
+ "placement": {
109
+ "hAlign": "center",
110
+ "vAlign": "middle"
111
+ },
112
+ "visual": {
113
+ "backgroundColor": "#0033aa"
114
+ },
115
+ "renderMode": {
116
+ "kind": "image"
117
+ }
118
+ }
119
+ ]
120
+ }
@@ -1,41 +1,41 @@
1
- {
2
- "schemaVersion": 1,
3
- "label": "idle",
4
- "startedAtIso": "2026-06-18T00:00:00.000Z",
5
- "finishedAtIso": "2026-06-18T00:02:11.000Z",
6
- "elapsedMs": 131000,
7
- "system": {
8
- "cpu": { "model": "Apple M1", "cores": 8, "speedMhz": 2400 },
9
- "ram": { "totalBytes": 8589934592, "totalGb": 8 },
10
- "os": { "platform": "darwin", "arch": "arm64", "release": "23.6.0" },
11
- "ffmpeg": {
12
- "found": true,
13
- "version": "ffmpeg version 8.0.1 Copyright (c) 2000-2025 the FFmpeg developers",
14
- "hwEncoders": ["h264_videotoolbox", "hevc_videotoolbox", "prores_videotoolbox"]
15
- }
16
- },
17
- "versions": { "cli": { "name": "m0saic-cli", "version": "0.1.0" } },
18
- "sets": [
19
- { "set": "sources", "version": 2, "scenarioIds": ["sources-lavfi", "sources-text", "sources-nested", "sources-ref", "sources-media", "sources-audio"] },
20
- { "set": "geometry", "version": 1, "scenarioIds": ["geometry-grid"] },
21
- { "set": "duration", "version": 1, "scenarioIds": ["duration-long"] },
22
- { "set": "encoders", "version": 1, "scenarioIds": ["encoders-libopenh264", "encoders-libx264", "encoders-libx265"] }
23
- ],
24
- "scenarios": [
25
- { "id": "sources-lavfi", "set": "sources", "label": "Lavfi generators", "ok": true, "elapsedMs": 4544, "outFps": 52.8, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
26
- { "id": "sources-text", "set": "sources", "label": "Text rasterization", "ok": true, "elapsedMs": 6039, "outFps": 39.7, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
27
- { "id": "sources-nested", "set": "sources", "label": "Nested mosaic", "ok": true, "elapsedMs": 4331, "outFps": 55.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
28
- { "id": "sources-ref", "set": "sources", "label": "Ref mirror", "ok": true, "elapsedMs": 2815, "outFps": 85.3, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
29
- { "id": "sources-media", "set": "sources", "label": "Video decode (4 clips)", "ok": true, "elapsedMs": 2755, "outFps": 43.6, "frames": 120, "width": 1920, "height": 1080, "durationMs": 4000, "fps": 30, "codec": "libx264" },
30
- { "id": "sources-audio", "set": "sources", "label": "Audio + video", "ok": true, "elapsedMs": 2391, "outFps": 100.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx264" },
31
- { "id": "geometry-grid", "set": "geometry", "label": "144-cell grid", "ok": true, "elapsedMs": 31521, "outFps": 7.6, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
32
- { "id": "duration-long", "set": "duration", "label": "60s render", "ok": true, "elapsedMs": 32810, "outFps": 54.9, "frames": 1800, "width": 1920, "height": 1080, "durationMs": 60000, "fps": 30, "codec": "libopenh264" },
33
- { "id": "encoders-libopenh264", "set": "encoders", "label": "libopenh264 (sw baseline)", "ok": true, "elapsedMs": 2000, "outFps": 120, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
34
- { "id": "encoders-libx264", "set": "encoders", "label": "libx264 (sw)", "ok": true, "elapsedMs": 2637, "outFps": 91, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx264" },
35
- { "id": "encoders-libx265", "set": "encoders", "label": "libx265 (sw)", "ok": true, "elapsedMs": 3227, "outFps": 74.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx265" },
36
- { "id": "encoders-h264_videotoolbox", "set": "encoders", "label": "h264_videotoolbox (hw)", "ok": true, "elapsedMs": 2111, "outFps": 113.7, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "h264_videotoolbox" },
37
- { "id": "encoders-hevc_videotoolbox", "set": "encoders", "label": "hevc_videotoolbox (hw)", "ok": true, "elapsedMs": 1935, "outFps": 124, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "hevc_videotoolbox" },
38
- { "id": "encoders-prores_videotoolbox", "set": "encoders", "label": "prores_videotoolbox (hw)", "ok": true, "elapsedMs": 2085, "outFps": 115.1, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "prores_videotoolbox" }
39
- ],
40
- "summary": { "totalElapsedMs": 103201, "scoreVersion": 1, "score": 47.4 }
41
- }
1
+ {
2
+ "schemaVersion": 1,
3
+ "label": "idle",
4
+ "startedAtIso": "2026-06-18T00:00:00.000Z",
5
+ "finishedAtIso": "2026-06-18T00:02:11.000Z",
6
+ "elapsedMs": 131000,
7
+ "system": {
8
+ "cpu": { "model": "Apple M1", "cores": 8, "speedMhz": 2400 },
9
+ "ram": { "totalBytes": 8589934592, "totalGb": 8 },
10
+ "os": { "platform": "darwin", "arch": "arm64", "release": "23.6.0" },
11
+ "ffmpeg": {
12
+ "found": true,
13
+ "version": "ffmpeg version 8.0.1 Copyright (c) 2000-2025 the FFmpeg developers",
14
+ "hwEncoders": ["h264_videotoolbox", "hevc_videotoolbox", "prores_videotoolbox"]
15
+ }
16
+ },
17
+ "versions": { "cli": { "name": "m0saic-cli", "version": "0.1.0" } },
18
+ "sets": [
19
+ { "set": "sources", "version": 2, "scenarioIds": ["sources-lavfi", "sources-text", "sources-nested", "sources-ref", "sources-media", "sources-audio"] },
20
+ { "set": "geometry", "version": 1, "scenarioIds": ["geometry-grid"] },
21
+ { "set": "duration", "version": 1, "scenarioIds": ["duration-long"] },
22
+ { "set": "encoders", "version": 1, "scenarioIds": ["encoders-libopenh264", "encoders-libx264", "encoders-libx265"] }
23
+ ],
24
+ "scenarios": [
25
+ { "id": "sources-lavfi", "set": "sources", "label": "Lavfi generators", "ok": true, "elapsedMs": 4544, "outFps": 52.8, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
26
+ { "id": "sources-text", "set": "sources", "label": "Text rasterization", "ok": true, "elapsedMs": 6039, "outFps": 39.7, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
27
+ { "id": "sources-nested", "set": "sources", "label": "Nested mosaic", "ok": true, "elapsedMs": 4331, "outFps": 55.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
28
+ { "id": "sources-ref", "set": "sources", "label": "Ref mirror", "ok": true, "elapsedMs": 2815, "outFps": 85.3, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
29
+ { "id": "sources-media", "set": "sources", "label": "Video decode (4 clips)", "ok": true, "elapsedMs": 2755, "outFps": 43.6, "frames": 120, "width": 1920, "height": 1080, "durationMs": 4000, "fps": 30, "codec": "libx264" },
30
+ { "id": "sources-audio", "set": "sources", "label": "Audio + video", "ok": true, "elapsedMs": 2391, "outFps": 100.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx264" },
31
+ { "id": "geometry-grid", "set": "geometry", "label": "144-cell grid", "ok": true, "elapsedMs": 31521, "outFps": 7.6, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
32
+ { "id": "duration-long", "set": "duration", "label": "60s render", "ok": true, "elapsedMs": 32810, "outFps": 54.9, "frames": 1800, "width": 1920, "height": 1080, "durationMs": 60000, "fps": 30, "codec": "libopenh264" },
33
+ { "id": "encoders-libopenh264", "set": "encoders", "label": "libopenh264 (sw baseline)", "ok": true, "elapsedMs": 2000, "outFps": 120, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libopenh264" },
34
+ { "id": "encoders-libx264", "set": "encoders", "label": "libx264 (sw)", "ok": true, "elapsedMs": 2637, "outFps": 91, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx264" },
35
+ { "id": "encoders-libx265", "set": "encoders", "label": "libx265 (sw)", "ok": true, "elapsedMs": 3227, "outFps": 74.4, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "libx265" },
36
+ { "id": "encoders-h264_videotoolbox", "set": "encoders", "label": "h264_videotoolbox (hw)", "ok": true, "elapsedMs": 2111, "outFps": 113.7, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "h264_videotoolbox" },
37
+ { "id": "encoders-hevc_videotoolbox", "set": "encoders", "label": "hevc_videotoolbox (hw)", "ok": true, "elapsedMs": 1935, "outFps": 124, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "hevc_videotoolbox" },
38
+ { "id": "encoders-prores_videotoolbox", "set": "encoders", "label": "prores_videotoolbox (hw)", "ok": true, "elapsedMs": 2085, "outFps": 115.1, "frames": 240, "width": 1920, "height": 1080, "durationMs": 8000, "fps": 30, "codec": "prores_videotoolbox" }
39
+ ],
40
+ "summary": { "totalElapsedMs": 103201, "scoreVersion": 1, "score": 47.4 }
41
+ }