videobook-engine 2.0.1 → 4.2.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 (148) hide show
  1. package/README.md +87 -41
  2. package/dist/artifact-names.d.ts +6 -0
  3. package/dist/artifact-names.d.ts.map +1 -0
  4. package/dist/artifact-names.js +56 -0
  5. package/dist/artifact-names.js.map +1 -0
  6. package/dist/artifacts.d.ts.map +1 -1
  7. package/dist/artifacts.js +57 -23
  8. package/dist/artifacts.js.map +1 -1
  9. package/dist/books.js +2 -1
  10. package/dist/books.js.map +1 -1
  11. package/dist/cas.d.ts +27 -1
  12. package/dist/cas.d.ts.map +1 -1
  13. package/dist/cas.js +78 -6
  14. package/dist/cas.js.map +1 -1
  15. package/dist/catalog-metadata.d.ts +56 -0
  16. package/dist/catalog-metadata.d.ts.map +1 -0
  17. package/dist/catalog-metadata.js +42 -0
  18. package/dist/catalog-metadata.js.map +1 -0
  19. package/dist/communications.js +4 -2
  20. package/dist/communications.js.map +1 -1
  21. package/dist/context.d.ts +6 -1
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +35 -6
  24. package/dist/context.js.map +1 -1
  25. package/dist/domain.d.ts +4 -0
  26. package/dist/domain.d.ts.map +1 -1
  27. package/dist/domain.js +870 -58
  28. package/dist/domain.js.map +1 -1
  29. package/dist/edit-policy.d.ts +3 -0
  30. package/dist/edit-policy.d.ts.map +1 -0
  31. package/dist/edit-policy.js +6 -0
  32. package/dist/edit-policy.js.map +1 -0
  33. package/dist/edits.d.ts +10 -0
  34. package/dist/edits.d.ts.map +1 -0
  35. package/dist/edits.js +1392 -0
  36. package/dist/edits.js.map +1 -0
  37. package/dist/engine-types.d.ts +110 -60
  38. package/dist/engine-types.d.ts.map +1 -1
  39. package/dist/engine-types.js +33 -0
  40. package/dist/engine-types.js.map +1 -1
  41. package/dist/engine.d.ts +69 -8
  42. package/dist/engine.d.ts.map +1 -1
  43. package/dist/engine.js +24 -18
  44. package/dist/engine.js.map +1 -1
  45. package/dist/files.d.ts.map +1 -1
  46. package/dist/files.js +31 -27
  47. package/dist/files.js.map +1 -1
  48. package/dist/fork.d.ts +147 -0
  49. package/dist/fork.d.ts.map +1 -0
  50. package/dist/fork.js +609 -0
  51. package/dist/fork.js.map +1 -0
  52. package/dist/history.d.ts +0 -4
  53. package/dist/history.d.ts.map +1 -1
  54. package/dist/history.js +166 -595
  55. package/dist/history.js.map +1 -1
  56. package/dist/index.d.ts +16 -4
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +12 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/job-queue.d.ts +2 -0
  61. package/dist/job-queue.d.ts.map +1 -1
  62. package/dist/job-queue.js +29 -2
  63. package/dist/job-queue.js.map +1 -1
  64. package/dist/media.d.ts.map +1 -1
  65. package/dist/media.js +1 -0
  66. package/dist/media.js.map +1 -1
  67. package/dist/merge-policy.d.ts +99 -0
  68. package/dist/merge-policy.d.ts.map +1 -0
  69. package/dist/merge-policy.js +310 -0
  70. package/dist/merge-policy.js.map +1 -0
  71. package/dist/metadata.d.ts.map +1 -1
  72. package/dist/metadata.js +15 -20
  73. package/dist/metadata.js.map +1 -1
  74. package/dist/migration.d.ts +9 -0
  75. package/dist/migration.d.ts.map +1 -0
  76. package/dist/migration.js +534 -0
  77. package/dist/migration.js.map +1 -0
  78. package/dist/mvp-contract-fixtures.d.ts +244 -0
  79. package/dist/mvp-contract-fixtures.d.ts.map +1 -0
  80. package/dist/mvp-contract-fixtures.js +556 -0
  81. package/dist/mvp-contract-fixtures.js.map +1 -0
  82. package/dist/mvp-contracts.d.ts +761 -0
  83. package/dist/mvp-contracts.d.ts.map +1 -0
  84. package/dist/mvp-contracts.js +59 -0
  85. package/dist/mvp-contracts.js.map +1 -0
  86. package/dist/mvp-time.d.ts +54 -0
  87. package/dist/mvp-time.d.ts.map +1 -0
  88. package/dist/mvp-time.js +148 -0
  89. package/dist/mvp-time.js.map +1 -0
  90. package/dist/notebook/types.d.ts +113 -8
  91. package/dist/notebook/types.d.ts.map +1 -1
  92. package/dist/order-keys.d.ts +22 -0
  93. package/dist/order-keys.d.ts.map +1 -0
  94. package/dist/order-keys.js +262 -0
  95. package/dist/order-keys.js.map +1 -0
  96. package/dist/runtime-services.js +4 -2
  97. package/dist/runtime-services.js.map +1 -1
  98. package/dist/schema.d.ts +24 -5
  99. package/dist/schema.d.ts.map +1 -1
  100. package/dist/schema.js +644 -132
  101. package/dist/schema.js.map +1 -1
  102. package/dist/search-benchmark.d.ts +4 -0
  103. package/dist/search-benchmark.d.ts.map +1 -0
  104. package/dist/search-benchmark.js +144 -0
  105. package/dist/search-benchmark.js.map +1 -0
  106. package/dist/sequences.d.ts +20 -0
  107. package/dist/sequences.d.ts.map +1 -0
  108. package/dist/sequences.js +825 -0
  109. package/dist/sequences.js.map +1 -0
  110. package/dist/similarity.js +1 -1
  111. package/dist/storage.d.ts +3 -1
  112. package/dist/storage.d.ts.map +1 -1
  113. package/dist/storage.js +388 -7
  114. package/dist/storage.js.map +1 -1
  115. package/dist/store.d.ts +63 -2
  116. package/dist/store.d.ts.map +1 -1
  117. package/dist/store.js +351 -65
  118. package/dist/store.js.map +1 -1
  119. package/dist/streams.d.ts +10 -0
  120. package/dist/streams.d.ts.map +1 -0
  121. package/dist/streams.js +183 -0
  122. package/dist/streams.js.map +1 -0
  123. package/dist/temporal-models.d.ts +48 -0
  124. package/dist/temporal-models.d.ts.map +1 -0
  125. package/dist/temporal-models.js +278 -0
  126. package/dist/temporal-models.js.map +1 -0
  127. package/dist/temporal-search.d.ts +29 -0
  128. package/dist/temporal-search.d.ts.map +1 -0
  129. package/dist/temporal-search.js +1507 -0
  130. package/dist/temporal-search.js.map +1 -0
  131. package/dist/transcripts.d.ts +16 -0
  132. package/dist/transcripts.d.ts.map +1 -0
  133. package/dist/transcripts.js +519 -0
  134. package/dist/transcripts.js.map +1 -0
  135. package/docs/engine-layout.md +346 -106
  136. package/docs/mvp-prd.md +918 -0
  137. package/fixtures/media/vancat.mp4 +0 -0
  138. package/fixtures/media/vancat_profile.jpg +0 -0
  139. package/fixtures/v5/contract-fixtures.json +1532 -0
  140. package/package.json +30 -5
  141. package/dist/history-types.d.ts +0 -74
  142. package/dist/history-types.d.ts.map +0 -1
  143. package/dist/history-types.js +0 -2
  144. package/dist/history-types.js.map +0 -1
  145. package/dist/timeline.d.ts +0 -9
  146. package/dist/timeline.d.ts.map +0 -1
  147. package/dist/timeline.js +0 -236
  148. package/dist/timeline.js.map +0 -1
@@ -0,0 +1,1532 @@
1
+ {
2
+ "compatibility": {
3
+ "contractVersion": 1,
4
+ "schemaVersion": 18,
5
+ "minimumReaderContractVersion": 1,
6
+ "legacySchemaVersions": [
7
+ 4,
8
+ 5
9
+ ],
10
+ "legacyTimelineApi": "compile-to-sequence",
11
+ "legacySimilarityApi": "read-only-adapter"
12
+ },
13
+ "engineErrorCodes": [
14
+ "INVALID_RANGE",
15
+ "INVALID_TIMEBASE",
16
+ "MEDIA_MISSING",
17
+ "UNSUPPORTED_MEDIA",
18
+ "MANIFEST_INCOMPATIBLE",
19
+ "INDEX_INCOMPLETE",
20
+ "STALE_REVISION",
21
+ "ACTION_CONFLICT",
22
+ "TRACK_LOCKED",
23
+ "MODEL_UNAVAILABLE",
24
+ "CANCELLED",
25
+ "RESOURCE_EXHAUSTED",
26
+ "TIMEOUT",
27
+ "INTERNAL_ERROR"
28
+ ],
29
+ "stream": {
30
+ "streamId": "0197-stream-video",
31
+ "artifactId": "0197-artifact-video",
32
+ "sourcePath": "original.mp4",
33
+ "objectHash": "sha256:video-object",
34
+ "streamIndex": 0,
35
+ "kind": "video",
36
+ "timeBase": {
37
+ "numerator": 1,
38
+ "denominator": 30000
39
+ },
40
+ "durationTicks": 900000,
41
+ "codec": "h264",
42
+ "video": {
43
+ "width": 1920,
44
+ "height": 1080,
45
+ "rotationDegrees": 0,
46
+ "pixelAspect": {
47
+ "numerator": 1,
48
+ "denominator": 1
49
+ },
50
+ "nominalFrameRate": {
51
+ "numerator": 30,
52
+ "denominator": 1
53
+ },
54
+ "averageFrameRate": {
55
+ "numerator": 30,
56
+ "denominator": 1
57
+ }
58
+ }
59
+ },
60
+ "transcript": {
61
+ "transcriptId": "0197-transcript",
62
+ "artifactId": "0197-artifact-audio",
63
+ "streamId": "0197-stream-audio",
64
+ "objectHash": "sha256:audio-object",
65
+ "payloadHash": "sha256:transcript-payload",
66
+ "payloadAvailable": true,
67
+ "language": "en",
68
+ "provider": "fixture",
69
+ "model": "fixture-word-timing-v1",
70
+ "revision": "dolt-transcript-revision",
71
+ "segments": [
72
+ {
73
+ "segmentId": "0197-segment-1",
74
+ "ordinal": 0,
75
+ "range": {
76
+ "streamId": "0197-stream-audio",
77
+ "objectHash": "sha256:audio-object",
78
+ "startTick": 96000,
79
+ "durationTicks": 240000,
80
+ "timeBase": {
81
+ "numerator": 1,
82
+ "denominator": 48000
83
+ }
84
+ },
85
+ "speaker": "Narrator",
86
+ "text": "The red van arrives at dusk.",
87
+ "confidence": 0.98,
88
+ "kind": "speech",
89
+ "words": [
90
+ {
91
+ "wordId": "0197-word-1",
92
+ "ordinal": 0,
93
+ "startTick": 96000,
94
+ "durationTicks": 24000,
95
+ "text": "The",
96
+ "confidence": 0.99,
97
+ "corrected": false
98
+ },
99
+ {
100
+ "wordId": "0197-word-6",
101
+ "ordinal": 5,
102
+ "startTick": 288000,
103
+ "durationTicks": 48000,
104
+ "text": "dusk.",
105
+ "confidence": 0.96,
106
+ "corrected": false
107
+ }
108
+ ]
109
+ }
110
+ ],
111
+ "createdAt": 1750000000000
112
+ },
113
+ "sequence": {
114
+ "sequenceId": "0197-sequence-main",
115
+ "name": "Main",
116
+ "width": 1920,
117
+ "height": 1080,
118
+ "pixelAspect": {
119
+ "numerator": 1,
120
+ "denominator": 1
121
+ },
122
+ "frameRate": {
123
+ "numerator": 30,
124
+ "denominator": 1
125
+ },
126
+ "audioSampleRateHz": 48000,
127
+ "audioChannelLayout": "stereo",
128
+ "backgroundRgba": [
129
+ 0,
130
+ 0,
131
+ 0,
132
+ 1
133
+ ],
134
+ "revision": "dolt-sequence-revision",
135
+ "tracks": [
136
+ {
137
+ "trackId": "0197-track-video-1",
138
+ "sequenceId": "0197-sequence-main",
139
+ "kind": "video",
140
+ "ordinal": 0,
141
+ "name": "Video 1",
142
+ "enabled": true,
143
+ "locked": false,
144
+ "blendMode": "normal"
145
+ },
146
+ {
147
+ "trackId": "0197-track-video-2",
148
+ "sequenceId": "0197-sequence-main",
149
+ "kind": "video",
150
+ "ordinal": 1,
151
+ "name": "Video 2",
152
+ "enabled": true,
153
+ "locked": false,
154
+ "blendMode": "normal"
155
+ },
156
+ {
157
+ "trackId": "0197-track-audio-1",
158
+ "sequenceId": "0197-sequence-main",
159
+ "kind": "audio",
160
+ "ordinal": 0,
161
+ "name": "Narration",
162
+ "enabled": true,
163
+ "locked": false,
164
+ "muted": false,
165
+ "solo": false
166
+ },
167
+ {
168
+ "trackId": "0197-track-caption",
169
+ "sequenceId": "0197-sequence-main",
170
+ "kind": "caption",
171
+ "ordinal": 0,
172
+ "name": "Captions",
173
+ "enabled": true,
174
+ "locked": false
175
+ }
176
+ ],
177
+ "clips": [
178
+ {
179
+ "clipId": "0197-clip-video",
180
+ "trackId": "0197-track-video-1",
181
+ "timelineStartFrame": 0,
182
+ "durationFrames": 150,
183
+ "enabled": true,
184
+ "source": {
185
+ "kind": "timed",
186
+ "artifactId": "0197-artifact-video",
187
+ "range": {
188
+ "streamId": "0197-stream-video",
189
+ "objectHash": "sha256:video-object",
190
+ "startTick": 60000,
191
+ "durationTicks": 150000,
192
+ "timeBase": {
193
+ "numerator": 1,
194
+ "denominator": 30000
195
+ }
196
+ }
197
+ },
198
+ "speed": {
199
+ "numerator": 1,
200
+ "denominator": 1
201
+ },
202
+ "reverse": false,
203
+ "audioPolicy": "preserve-pitch",
204
+ "transform": {
205
+ "fit": "fill",
206
+ "positionX": 0,
207
+ "positionY": 0,
208
+ "scaleX": 1,
209
+ "scaleY": 1,
210
+ "anchorX": 0.5,
211
+ "anchorY": 0.5,
212
+ "rotationDegrees": 0,
213
+ "cropTop": 0,
214
+ "cropRight": 0,
215
+ "cropBottom": 0,
216
+ "cropLeft": 0,
217
+ "opacity": 1,
218
+ "blendMode": "normal"
219
+ }
220
+ }
221
+ ],
222
+ "transitions": [],
223
+ "captions": [
224
+ {
225
+ "cueId": "0197-caption-1",
226
+ "trackId": "0197-track-caption",
227
+ "timelineStartFrame": 0,
228
+ "durationFrames": 90,
229
+ "text": "The red van arrives at dusk.",
230
+ "speaker": "Narrator",
231
+ "styleId": "clean",
232
+ "transcriptSelection": {
233
+ "transcriptId": "0197-transcript",
234
+ "transcriptRevision": "dolt-transcript-revision",
235
+ "startWordId": "0197-word-1",
236
+ "endWordId": "0197-word-6",
237
+ "range": {
238
+ "streamId": "0197-stream-audio",
239
+ "objectHash": "sha256:audio-object",
240
+ "startTick": 96000,
241
+ "durationTicks": 240000,
242
+ "timeBase": {
243
+ "numerator": 1,
244
+ "denominator": 48000
245
+ }
246
+ }
247
+ }
248
+ }
249
+ ],
250
+ "createdAt": 1750000000000
251
+ },
252
+ "editOperations": [
253
+ {
254
+ "kind": "insert-clip",
255
+ "clipId": "0197-clip-video",
256
+ "placement": {
257
+ "trackId": "0197-track-video-1",
258
+ "timelineStartFrame": 0,
259
+ "durationFrames": 150,
260
+ "source": {
261
+ "kind": "timed",
262
+ "artifactId": "0197-artifact-video",
263
+ "range": {
264
+ "streamId": "0197-stream-video",
265
+ "objectHash": "sha256:video-object",
266
+ "startTick": 60000,
267
+ "durationTicks": 150000,
268
+ "timeBase": {
269
+ "numerator": 1,
270
+ "denominator": 30000
271
+ }
272
+ }
273
+ },
274
+ "speed": {
275
+ "numerator": 1,
276
+ "denominator": 1
277
+ },
278
+ "reverse": false,
279
+ "audioPolicy": "preserve-pitch",
280
+ "transform": {
281
+ "fit": "fill",
282
+ "positionX": 0,
283
+ "positionY": 0,
284
+ "scaleX": 1,
285
+ "scaleY": 1,
286
+ "anchorX": 0.5,
287
+ "anchorY": 0.5,
288
+ "rotationDegrees": 0,
289
+ "cropTop": 0,
290
+ "cropRight": 0,
291
+ "cropBottom": 0,
292
+ "cropLeft": 0,
293
+ "opacity": 1,
294
+ "blendMode": "normal"
295
+ }
296
+ },
297
+ "mode": "insert"
298
+ },
299
+ {
300
+ "kind": "remove-range",
301
+ "trackIds": [
302
+ "0197-track-video-1"
303
+ ],
304
+ "range": {
305
+ "sequenceId": "0197-sequence-main",
306
+ "startFrame": 60,
307
+ "durationFrames": 30
308
+ },
309
+ "ripple": true
310
+ },
311
+ {
312
+ "kind": "move-clip",
313
+ "clipId": "0197-clip-video",
314
+ "trackId": "0197-track-video-2",
315
+ "timelineStartFrame": 180
316
+ },
317
+ {
318
+ "kind": "trim-clip",
319
+ "clipId": "0197-clip-video",
320
+ "timelineStartFrame": 0,
321
+ "durationFrames": 120,
322
+ "sourceRange": {
323
+ "streamId": "0197-stream-video",
324
+ "objectHash": "sha256:video-object",
325
+ "startTick": 60000,
326
+ "durationTicks": 120000,
327
+ "timeBase": {
328
+ "numerator": 1,
329
+ "denominator": 30000
330
+ }
331
+ }
332
+ },
333
+ {
334
+ "kind": "split-clip",
335
+ "clipId": "0197-clip-video",
336
+ "splitFrame": 75,
337
+ "leftClipId": "0197-clip-left",
338
+ "rightClipId": "0197-clip-right"
339
+ },
340
+ {
341
+ "kind": "restore-clip",
342
+ "sourceActionId": "0197-action-remove",
343
+ "sourceClipId": "0197-clip-removed",
344
+ "placement": {
345
+ "trackId": "0197-track-video-1",
346
+ "timelineStartFrame": 210,
347
+ "durationFrames": 90,
348
+ "source": {
349
+ "kind": "still",
350
+ "artifactId": "0197-artifact-still",
351
+ "sourcePath": "original.jpg",
352
+ "objectHash": "sha256:still-object"
353
+ },
354
+ "transform": {
355
+ "fit": "fill",
356
+ "positionX": 0,
357
+ "positionY": 0,
358
+ "scaleX": 1,
359
+ "scaleY": 1,
360
+ "anchorX": 0.5,
361
+ "anchorY": 0.5,
362
+ "rotationDegrees": 0,
363
+ "cropTop": 0,
364
+ "cropRight": 0,
365
+ "cropBottom": 0,
366
+ "cropLeft": 0,
367
+ "opacity": 1,
368
+ "blendMode": "normal"
369
+ }
370
+ }
371
+ },
372
+ {
373
+ "kind": "set-clip-transform",
374
+ "clipId": "0197-clip-video",
375
+ "transform": {
376
+ "fit": "fill",
377
+ "positionX": 0,
378
+ "positionY": 0,
379
+ "scaleX": 1,
380
+ "scaleY": 1,
381
+ "anchorX": 0.5,
382
+ "anchorY": 0.5,
383
+ "rotationDegrees": 0,
384
+ "cropTop": 0,
385
+ "cropRight": 0,
386
+ "cropBottom": 0,
387
+ "cropLeft": 0,
388
+ "opacity": 1,
389
+ "blendMode": "normal"
390
+ }
391
+ },
392
+ {
393
+ "kind": "set-clip-audio",
394
+ "clipId": "0197-clip-video",
395
+ "audio": {
396
+ "gainDb": -3,
397
+ "muted": false,
398
+ "fadeInFrames": 6,
399
+ "fadeOutFrames": 6
400
+ }
401
+ },
402
+ {
403
+ "kind": "set-clip-speed",
404
+ "clipId": "0197-clip-video",
405
+ "speed": {
406
+ "numerator": 2,
407
+ "denominator": 1
408
+ },
409
+ "reverse": false,
410
+ "audioPolicy": "preserve-pitch"
411
+ },
412
+ {
413
+ "kind": "set-transition",
414
+ "outgoingClipId": "0197-clip-left",
415
+ "incomingClipId": "0197-clip-right",
416
+ "transition": {
417
+ "transitionId": "0197-transition",
418
+ "trackId": "0197-track-video-1",
419
+ "outgoingClipId": "0197-clip-left",
420
+ "incomingClipId": "0197-clip-right",
421
+ "kind": "dissolve",
422
+ "durationFrames": 12,
423
+ "alignment": "center"
424
+ }
425
+ },
426
+ {
427
+ "kind": "upsert-caption-cue",
428
+ "cue": {
429
+ "cueId": "0197-caption-1",
430
+ "trackId": "0197-track-caption",
431
+ "timelineStartFrame": 0,
432
+ "durationFrames": 90,
433
+ "text": "The red van arrives at dusk.",
434
+ "speaker": "Narrator",
435
+ "styleId": "clean",
436
+ "transcriptSelection": {
437
+ "transcriptId": "0197-transcript",
438
+ "transcriptRevision": "dolt-transcript-revision",
439
+ "startWordId": "0197-word-1",
440
+ "endWordId": "0197-word-6",
441
+ "range": {
442
+ "streamId": "0197-stream-audio",
443
+ "objectHash": "sha256:audio-object",
444
+ "startTick": 96000,
445
+ "durationTicks": 240000,
446
+ "timeBase": {
447
+ "numerator": 1,
448
+ "denominator": 48000
449
+ }
450
+ }
451
+ }
452
+ }
453
+ },
454
+ {
455
+ "kind": "batch-replace-range",
456
+ "range": {
457
+ "sequenceId": "0197-sequence-main",
458
+ "startFrame": 0,
459
+ "durationFrames": 150
460
+ },
461
+ "trackIds": [
462
+ "0197-track-video-1"
463
+ ],
464
+ "placements": [
465
+ {
466
+ "trackId": "0197-track-video-1",
467
+ "timelineStartFrame": 0,
468
+ "durationFrames": 90,
469
+ "source": {
470
+ "kind": "still",
471
+ "artifactId": "0197-artifact-still",
472
+ "sourcePath": "original.jpg",
473
+ "objectHash": "sha256:still-object"
474
+ },
475
+ "transform": {
476
+ "fit": "fill",
477
+ "positionX": 0,
478
+ "positionY": 0,
479
+ "scaleX": 1,
480
+ "scaleY": 1,
481
+ "anchorX": 0.5,
482
+ "anchorY": 0.5,
483
+ "rotationDegrees": 0,
484
+ "cropTop": 0,
485
+ "cropRight": 0,
486
+ "cropBottom": 0,
487
+ "cropLeft": 0,
488
+ "opacity": 1,
489
+ "blendMode": "normal"
490
+ }
491
+ },
492
+ {
493
+ "trackId": "0197-track-video-1",
494
+ "timelineStartFrame": 90,
495
+ "durationFrames": 60,
496
+ "source": {
497
+ "kind": "timed",
498
+ "artifactId": "0197-artifact-video",
499
+ "range": {
500
+ "streamId": "0197-stream-video",
501
+ "objectHash": "sha256:video-object",
502
+ "startTick": 60000,
503
+ "durationTicks": 150000,
504
+ "timeBase": {
505
+ "numerator": 1,
506
+ "denominator": 30000
507
+ }
508
+ }
509
+ },
510
+ "speed": {
511
+ "numerator": 1,
512
+ "denominator": 1
513
+ },
514
+ "reverse": false,
515
+ "audioPolicy": "preserve-pitch",
516
+ "transform": {
517
+ "fit": "fill",
518
+ "positionX": 0,
519
+ "positionY": 0,
520
+ "scaleX": 1,
521
+ "scaleY": 1,
522
+ "anchorX": 0.5,
523
+ "anchorY": 0.5,
524
+ "rotationDegrees": 0,
525
+ "cropTop": 0,
526
+ "cropRight": 0,
527
+ "cropBottom": 0,
528
+ "cropLeft": 0,
529
+ "opacity": 1,
530
+ "blendMode": "normal"
531
+ }
532
+ }
533
+ ],
534
+ "ripple": false
535
+ }
536
+ ],
537
+ "editIntent": {
538
+ "intentVersion": 1,
539
+ "commandId": "command-fixture-1",
540
+ "sequenceId": "0197-sequence-main",
541
+ "baseRevision": "dolt-base-revision",
542
+ "actor": "fixture-user",
543
+ "sourceSurface": "slash",
544
+ "confirmationPolicy": "risk-based",
545
+ "operations": [
546
+ {
547
+ "kind": "insert-clip",
548
+ "clipId": "0197-clip-video",
549
+ "placement": {
550
+ "trackId": "0197-track-video-1",
551
+ "timelineStartFrame": 0,
552
+ "durationFrames": 150,
553
+ "source": {
554
+ "kind": "timed",
555
+ "artifactId": "0197-artifact-video",
556
+ "range": {
557
+ "streamId": "0197-stream-video",
558
+ "objectHash": "sha256:video-object",
559
+ "startTick": 60000,
560
+ "durationTicks": 150000,
561
+ "timeBase": {
562
+ "numerator": 1,
563
+ "denominator": 30000
564
+ }
565
+ }
566
+ },
567
+ "speed": {
568
+ "numerator": 1,
569
+ "denominator": 1
570
+ },
571
+ "reverse": false,
572
+ "audioPolicy": "preserve-pitch",
573
+ "transform": {
574
+ "fit": "fill",
575
+ "positionX": 0,
576
+ "positionY": 0,
577
+ "scaleX": 1,
578
+ "scaleY": 1,
579
+ "anchorX": 0.5,
580
+ "anchorY": 0.5,
581
+ "rotationDegrees": 0,
582
+ "cropTop": 0,
583
+ "cropRight": 0,
584
+ "cropBottom": 0,
585
+ "cropLeft": 0,
586
+ "opacity": 1,
587
+ "blendMode": "normal"
588
+ }
589
+ },
590
+ "mode": "insert"
591
+ },
592
+ {
593
+ "kind": "remove-range",
594
+ "trackIds": [
595
+ "0197-track-video-1"
596
+ ],
597
+ "range": {
598
+ "sequenceId": "0197-sequence-main",
599
+ "startFrame": 60,
600
+ "durationFrames": 30
601
+ },
602
+ "ripple": true
603
+ },
604
+ {
605
+ "kind": "move-clip",
606
+ "clipId": "0197-clip-video",
607
+ "trackId": "0197-track-video-2",
608
+ "timelineStartFrame": 180
609
+ },
610
+ {
611
+ "kind": "trim-clip",
612
+ "clipId": "0197-clip-video",
613
+ "timelineStartFrame": 0,
614
+ "durationFrames": 120,
615
+ "sourceRange": {
616
+ "streamId": "0197-stream-video",
617
+ "objectHash": "sha256:video-object",
618
+ "startTick": 60000,
619
+ "durationTicks": 120000,
620
+ "timeBase": {
621
+ "numerator": 1,
622
+ "denominator": 30000
623
+ }
624
+ }
625
+ },
626
+ {
627
+ "kind": "split-clip",
628
+ "clipId": "0197-clip-video",
629
+ "splitFrame": 75,
630
+ "leftClipId": "0197-clip-left",
631
+ "rightClipId": "0197-clip-right"
632
+ },
633
+ {
634
+ "kind": "restore-clip",
635
+ "sourceActionId": "0197-action-remove",
636
+ "sourceClipId": "0197-clip-removed",
637
+ "placement": {
638
+ "trackId": "0197-track-video-1",
639
+ "timelineStartFrame": 210,
640
+ "durationFrames": 90,
641
+ "source": {
642
+ "kind": "still",
643
+ "artifactId": "0197-artifact-still",
644
+ "sourcePath": "original.jpg",
645
+ "objectHash": "sha256:still-object"
646
+ },
647
+ "transform": {
648
+ "fit": "fill",
649
+ "positionX": 0,
650
+ "positionY": 0,
651
+ "scaleX": 1,
652
+ "scaleY": 1,
653
+ "anchorX": 0.5,
654
+ "anchorY": 0.5,
655
+ "rotationDegrees": 0,
656
+ "cropTop": 0,
657
+ "cropRight": 0,
658
+ "cropBottom": 0,
659
+ "cropLeft": 0,
660
+ "opacity": 1,
661
+ "blendMode": "normal"
662
+ }
663
+ }
664
+ },
665
+ {
666
+ "kind": "set-clip-transform",
667
+ "clipId": "0197-clip-video",
668
+ "transform": {
669
+ "fit": "fill",
670
+ "positionX": 0,
671
+ "positionY": 0,
672
+ "scaleX": 1,
673
+ "scaleY": 1,
674
+ "anchorX": 0.5,
675
+ "anchorY": 0.5,
676
+ "rotationDegrees": 0,
677
+ "cropTop": 0,
678
+ "cropRight": 0,
679
+ "cropBottom": 0,
680
+ "cropLeft": 0,
681
+ "opacity": 1,
682
+ "blendMode": "normal"
683
+ }
684
+ },
685
+ {
686
+ "kind": "set-clip-audio",
687
+ "clipId": "0197-clip-video",
688
+ "audio": {
689
+ "gainDb": -3,
690
+ "muted": false,
691
+ "fadeInFrames": 6,
692
+ "fadeOutFrames": 6
693
+ }
694
+ },
695
+ {
696
+ "kind": "set-clip-speed",
697
+ "clipId": "0197-clip-video",
698
+ "speed": {
699
+ "numerator": 2,
700
+ "denominator": 1
701
+ },
702
+ "reverse": false,
703
+ "audioPolicy": "preserve-pitch"
704
+ },
705
+ {
706
+ "kind": "set-transition",
707
+ "outgoingClipId": "0197-clip-left",
708
+ "incomingClipId": "0197-clip-right",
709
+ "transition": {
710
+ "transitionId": "0197-transition",
711
+ "trackId": "0197-track-video-1",
712
+ "outgoingClipId": "0197-clip-left",
713
+ "incomingClipId": "0197-clip-right",
714
+ "kind": "dissolve",
715
+ "durationFrames": 12,
716
+ "alignment": "center"
717
+ }
718
+ },
719
+ {
720
+ "kind": "upsert-caption-cue",
721
+ "cue": {
722
+ "cueId": "0197-caption-1",
723
+ "trackId": "0197-track-caption",
724
+ "timelineStartFrame": 0,
725
+ "durationFrames": 90,
726
+ "text": "The red van arrives at dusk.",
727
+ "speaker": "Narrator",
728
+ "styleId": "clean",
729
+ "transcriptSelection": {
730
+ "transcriptId": "0197-transcript",
731
+ "transcriptRevision": "dolt-transcript-revision",
732
+ "startWordId": "0197-word-1",
733
+ "endWordId": "0197-word-6",
734
+ "range": {
735
+ "streamId": "0197-stream-audio",
736
+ "objectHash": "sha256:audio-object",
737
+ "startTick": 96000,
738
+ "durationTicks": 240000,
739
+ "timeBase": {
740
+ "numerator": 1,
741
+ "denominator": 48000
742
+ }
743
+ }
744
+ }
745
+ }
746
+ },
747
+ {
748
+ "kind": "batch-replace-range",
749
+ "range": {
750
+ "sequenceId": "0197-sequence-main",
751
+ "startFrame": 0,
752
+ "durationFrames": 150
753
+ },
754
+ "trackIds": [
755
+ "0197-track-video-1"
756
+ ],
757
+ "placements": [
758
+ {
759
+ "trackId": "0197-track-video-1",
760
+ "timelineStartFrame": 0,
761
+ "durationFrames": 90,
762
+ "source": {
763
+ "kind": "still",
764
+ "artifactId": "0197-artifact-still",
765
+ "sourcePath": "original.jpg",
766
+ "objectHash": "sha256:still-object"
767
+ },
768
+ "transform": {
769
+ "fit": "fill",
770
+ "positionX": 0,
771
+ "positionY": 0,
772
+ "scaleX": 1,
773
+ "scaleY": 1,
774
+ "anchorX": 0.5,
775
+ "anchorY": 0.5,
776
+ "rotationDegrees": 0,
777
+ "cropTop": 0,
778
+ "cropRight": 0,
779
+ "cropBottom": 0,
780
+ "cropLeft": 0,
781
+ "opacity": 1,
782
+ "blendMode": "normal"
783
+ }
784
+ },
785
+ {
786
+ "trackId": "0197-track-video-1",
787
+ "timelineStartFrame": 90,
788
+ "durationFrames": 60,
789
+ "source": {
790
+ "kind": "timed",
791
+ "artifactId": "0197-artifact-video",
792
+ "range": {
793
+ "streamId": "0197-stream-video",
794
+ "objectHash": "sha256:video-object",
795
+ "startTick": 60000,
796
+ "durationTicks": 150000,
797
+ "timeBase": {
798
+ "numerator": 1,
799
+ "denominator": 30000
800
+ }
801
+ }
802
+ },
803
+ "speed": {
804
+ "numerator": 1,
805
+ "denominator": 1
806
+ },
807
+ "reverse": false,
808
+ "audioPolicy": "preserve-pitch",
809
+ "transform": {
810
+ "fit": "fill",
811
+ "positionX": 0,
812
+ "positionY": 0,
813
+ "scaleX": 1,
814
+ "scaleY": 1,
815
+ "anchorX": 0.5,
816
+ "anchorY": 0.5,
817
+ "rotationDegrees": 0,
818
+ "cropTop": 0,
819
+ "cropRight": 0,
820
+ "cropBottom": 0,
821
+ "cropLeft": 0,
822
+ "opacity": 1,
823
+ "blendMode": "normal"
824
+ }
825
+ }
826
+ ],
827
+ "ripple": false
828
+ }
829
+ ]
830
+ },
831
+ "editPreview": {
832
+ "commandId": "command-fixture-1",
833
+ "sequenceId": "0197-sequence-main",
834
+ "baseRevision": "dolt-base-revision",
835
+ "valid": true,
836
+ "operations": [
837
+ {
838
+ "operationId": "operation-01",
839
+ "ordinal": 0,
840
+ "operation": {
841
+ "kind": "insert-clip",
842
+ "clipId": "0197-clip-video",
843
+ "placement": {
844
+ "trackId": "0197-track-video-1",
845
+ "timelineStartFrame": 0,
846
+ "durationFrames": 150,
847
+ "source": {
848
+ "kind": "timed",
849
+ "artifactId": "0197-artifact-video",
850
+ "range": {
851
+ "streamId": "0197-stream-video",
852
+ "objectHash": "sha256:video-object",
853
+ "startTick": 60000,
854
+ "durationTicks": 150000,
855
+ "timeBase": {
856
+ "numerator": 1,
857
+ "denominator": 30000
858
+ }
859
+ }
860
+ },
861
+ "speed": {
862
+ "numerator": 1,
863
+ "denominator": 1
864
+ },
865
+ "reverse": false,
866
+ "audioPolicy": "preserve-pitch",
867
+ "transform": {
868
+ "fit": "fill",
869
+ "positionX": 0,
870
+ "positionY": 0,
871
+ "scaleX": 1,
872
+ "scaleY": 1,
873
+ "anchorX": 0.5,
874
+ "anchorY": 0.5,
875
+ "rotationDegrees": 0,
876
+ "cropTop": 0,
877
+ "cropRight": 0,
878
+ "cropBottom": 0,
879
+ "cropLeft": 0,
880
+ "opacity": 1,
881
+ "blendMode": "normal"
882
+ }
883
+ },
884
+ "mode": "insert"
885
+ }
886
+ },
887
+ {
888
+ "operationId": "operation-02",
889
+ "ordinal": 1,
890
+ "operation": {
891
+ "kind": "remove-range",
892
+ "trackIds": [
893
+ "0197-track-video-1"
894
+ ],
895
+ "range": {
896
+ "sequenceId": "0197-sequence-main",
897
+ "startFrame": 60,
898
+ "durationFrames": 30
899
+ },
900
+ "ripple": true
901
+ }
902
+ },
903
+ {
904
+ "operationId": "operation-03",
905
+ "ordinal": 2,
906
+ "operation": {
907
+ "kind": "move-clip",
908
+ "clipId": "0197-clip-video",
909
+ "trackId": "0197-track-video-2",
910
+ "timelineStartFrame": 180
911
+ }
912
+ },
913
+ {
914
+ "operationId": "operation-04",
915
+ "ordinal": 3,
916
+ "operation": {
917
+ "kind": "trim-clip",
918
+ "clipId": "0197-clip-video",
919
+ "timelineStartFrame": 0,
920
+ "durationFrames": 120,
921
+ "sourceRange": {
922
+ "streamId": "0197-stream-video",
923
+ "objectHash": "sha256:video-object",
924
+ "startTick": 60000,
925
+ "durationTicks": 120000,
926
+ "timeBase": {
927
+ "numerator": 1,
928
+ "denominator": 30000
929
+ }
930
+ }
931
+ }
932
+ },
933
+ {
934
+ "operationId": "operation-05",
935
+ "ordinal": 4,
936
+ "operation": {
937
+ "kind": "split-clip",
938
+ "clipId": "0197-clip-video",
939
+ "splitFrame": 75,
940
+ "leftClipId": "0197-clip-left",
941
+ "rightClipId": "0197-clip-right"
942
+ }
943
+ },
944
+ {
945
+ "operationId": "operation-06",
946
+ "ordinal": 5,
947
+ "operation": {
948
+ "kind": "restore-clip",
949
+ "sourceActionId": "0197-action-remove",
950
+ "sourceClipId": "0197-clip-removed",
951
+ "placement": {
952
+ "trackId": "0197-track-video-1",
953
+ "timelineStartFrame": 210,
954
+ "durationFrames": 90,
955
+ "source": {
956
+ "kind": "still",
957
+ "artifactId": "0197-artifact-still",
958
+ "sourcePath": "original.jpg",
959
+ "objectHash": "sha256:still-object"
960
+ },
961
+ "transform": {
962
+ "fit": "fill",
963
+ "positionX": 0,
964
+ "positionY": 0,
965
+ "scaleX": 1,
966
+ "scaleY": 1,
967
+ "anchorX": 0.5,
968
+ "anchorY": 0.5,
969
+ "rotationDegrees": 0,
970
+ "cropTop": 0,
971
+ "cropRight": 0,
972
+ "cropBottom": 0,
973
+ "cropLeft": 0,
974
+ "opacity": 1,
975
+ "blendMode": "normal"
976
+ }
977
+ }
978
+ }
979
+ },
980
+ {
981
+ "operationId": "operation-07",
982
+ "ordinal": 6,
983
+ "operation": {
984
+ "kind": "set-clip-transform",
985
+ "clipId": "0197-clip-video",
986
+ "transform": {
987
+ "fit": "fill",
988
+ "positionX": 0,
989
+ "positionY": 0,
990
+ "scaleX": 1,
991
+ "scaleY": 1,
992
+ "anchorX": 0.5,
993
+ "anchorY": 0.5,
994
+ "rotationDegrees": 0,
995
+ "cropTop": 0,
996
+ "cropRight": 0,
997
+ "cropBottom": 0,
998
+ "cropLeft": 0,
999
+ "opacity": 1,
1000
+ "blendMode": "normal"
1001
+ }
1002
+ }
1003
+ },
1004
+ {
1005
+ "operationId": "operation-08",
1006
+ "ordinal": 7,
1007
+ "operation": {
1008
+ "kind": "set-clip-audio",
1009
+ "clipId": "0197-clip-video",
1010
+ "audio": {
1011
+ "gainDb": -3,
1012
+ "muted": false,
1013
+ "fadeInFrames": 6,
1014
+ "fadeOutFrames": 6
1015
+ }
1016
+ }
1017
+ },
1018
+ {
1019
+ "operationId": "operation-09",
1020
+ "ordinal": 8,
1021
+ "operation": {
1022
+ "kind": "set-clip-speed",
1023
+ "clipId": "0197-clip-video",
1024
+ "speed": {
1025
+ "numerator": 2,
1026
+ "denominator": 1
1027
+ },
1028
+ "reverse": false,
1029
+ "audioPolicy": "preserve-pitch"
1030
+ }
1031
+ },
1032
+ {
1033
+ "operationId": "operation-10",
1034
+ "ordinal": 9,
1035
+ "operation": {
1036
+ "kind": "set-transition",
1037
+ "outgoingClipId": "0197-clip-left",
1038
+ "incomingClipId": "0197-clip-right",
1039
+ "transition": {
1040
+ "transitionId": "0197-transition",
1041
+ "trackId": "0197-track-video-1",
1042
+ "outgoingClipId": "0197-clip-left",
1043
+ "incomingClipId": "0197-clip-right",
1044
+ "kind": "dissolve",
1045
+ "durationFrames": 12,
1046
+ "alignment": "center"
1047
+ }
1048
+ }
1049
+ },
1050
+ {
1051
+ "operationId": "operation-11",
1052
+ "ordinal": 10,
1053
+ "operation": {
1054
+ "kind": "upsert-caption-cue",
1055
+ "cue": {
1056
+ "cueId": "0197-caption-1",
1057
+ "trackId": "0197-track-caption",
1058
+ "timelineStartFrame": 0,
1059
+ "durationFrames": 90,
1060
+ "text": "The red van arrives at dusk.",
1061
+ "speaker": "Narrator",
1062
+ "styleId": "clean",
1063
+ "transcriptSelection": {
1064
+ "transcriptId": "0197-transcript",
1065
+ "transcriptRevision": "dolt-transcript-revision",
1066
+ "startWordId": "0197-word-1",
1067
+ "endWordId": "0197-word-6",
1068
+ "range": {
1069
+ "streamId": "0197-stream-audio",
1070
+ "objectHash": "sha256:audio-object",
1071
+ "startTick": 96000,
1072
+ "durationTicks": 240000,
1073
+ "timeBase": {
1074
+ "numerator": 1,
1075
+ "denominator": 48000
1076
+ }
1077
+ }
1078
+ }
1079
+ }
1080
+ }
1081
+ },
1082
+ {
1083
+ "operationId": "operation-12",
1084
+ "ordinal": 11,
1085
+ "operation": {
1086
+ "kind": "batch-replace-range",
1087
+ "range": {
1088
+ "sequenceId": "0197-sequence-main",
1089
+ "startFrame": 0,
1090
+ "durationFrames": 150
1091
+ },
1092
+ "trackIds": [
1093
+ "0197-track-video-1"
1094
+ ],
1095
+ "placements": [
1096
+ {
1097
+ "trackId": "0197-track-video-1",
1098
+ "timelineStartFrame": 0,
1099
+ "durationFrames": 90,
1100
+ "source": {
1101
+ "kind": "still",
1102
+ "artifactId": "0197-artifact-still",
1103
+ "sourcePath": "original.jpg",
1104
+ "objectHash": "sha256:still-object"
1105
+ },
1106
+ "transform": {
1107
+ "fit": "fill",
1108
+ "positionX": 0,
1109
+ "positionY": 0,
1110
+ "scaleX": 1,
1111
+ "scaleY": 1,
1112
+ "anchorX": 0.5,
1113
+ "anchorY": 0.5,
1114
+ "rotationDegrees": 0,
1115
+ "cropTop": 0,
1116
+ "cropRight": 0,
1117
+ "cropBottom": 0,
1118
+ "cropLeft": 0,
1119
+ "opacity": 1,
1120
+ "blendMode": "normal"
1121
+ }
1122
+ },
1123
+ {
1124
+ "trackId": "0197-track-video-1",
1125
+ "timelineStartFrame": 90,
1126
+ "durationFrames": 60,
1127
+ "source": {
1128
+ "kind": "timed",
1129
+ "artifactId": "0197-artifact-video",
1130
+ "range": {
1131
+ "streamId": "0197-stream-video",
1132
+ "objectHash": "sha256:video-object",
1133
+ "startTick": 60000,
1134
+ "durationTicks": 150000,
1135
+ "timeBase": {
1136
+ "numerator": 1,
1137
+ "denominator": 30000
1138
+ }
1139
+ }
1140
+ },
1141
+ "speed": {
1142
+ "numerator": 1,
1143
+ "denominator": 1
1144
+ },
1145
+ "reverse": false,
1146
+ "audioPolicy": "preserve-pitch",
1147
+ "transform": {
1148
+ "fit": "fill",
1149
+ "positionX": 0,
1150
+ "positionY": 0,
1151
+ "scaleX": 1,
1152
+ "scaleY": 1,
1153
+ "anchorX": 0.5,
1154
+ "anchorY": 0.5,
1155
+ "rotationDegrees": 0,
1156
+ "cropTop": 0,
1157
+ "cropRight": 0,
1158
+ "cropBottom": 0,
1159
+ "cropLeft": 0,
1160
+ "opacity": 1,
1161
+ "blendMode": "normal"
1162
+ }
1163
+ }
1164
+ ],
1165
+ "ripple": false
1166
+ }
1167
+ }
1168
+ ],
1169
+ "affectedRanges": [
1170
+ {
1171
+ "sequenceId": "0197-sequence-main",
1172
+ "startFrame": 0,
1173
+ "durationFrames": 300
1174
+ }
1175
+ ],
1176
+ "writeSet": [
1177
+ "sequence:0197-sequence-main",
1178
+ "track:0197-track-video-1",
1179
+ "track:0197-track-video-2",
1180
+ "track:0197-track-caption"
1181
+ ],
1182
+ "warnings": [
1183
+ {
1184
+ "code": "AUDIO_PITCH_CHANGE",
1185
+ "message": "Two-times speed may alter pitch when preserve-pitch is unavailable.",
1186
+ "operationId": "operation-09"
1187
+ }
1188
+ ],
1189
+ "conflicts": [],
1190
+ "diff": {
1191
+ "insertedClipIds": [
1192
+ "0197-clip-left",
1193
+ "0197-clip-right"
1194
+ ],
1195
+ "removedClipIds": [],
1196
+ "changedClipIds": [
1197
+ "0197-clip-video"
1198
+ ],
1199
+ "changedTrackIds": [
1200
+ "0197-track-video-1",
1201
+ "0197-track-video-2"
1202
+ ],
1203
+ "changedCaptionCueIds": [
1204
+ "0197-caption-1"
1205
+ ],
1206
+ "beforeDurationFrames": 150,
1207
+ "afterDurationFrames": 300
1208
+ },
1209
+ "beforeHash": "sha256:before",
1210
+ "afterHash": "sha256:after",
1211
+ "previewHash": "sha256:preview"
1212
+ },
1213
+ "editCommit": {
1214
+ "commandId": "command-fixture-1",
1215
+ "actionId": "0197-action-edit",
1216
+ "revision": "dolt-committed-revision",
1217
+ "sequence": {
1218
+ "sequenceId": "0197-sequence-main",
1219
+ "name": "Main",
1220
+ "width": 1920,
1221
+ "height": 1080,
1222
+ "pixelAspect": {
1223
+ "numerator": 1,
1224
+ "denominator": 1
1225
+ },
1226
+ "frameRate": {
1227
+ "numerator": 30,
1228
+ "denominator": 1
1229
+ },
1230
+ "audioSampleRateHz": 48000,
1231
+ "audioChannelLayout": "stereo",
1232
+ "backgroundRgba": [
1233
+ 0,
1234
+ 0,
1235
+ 0,
1236
+ 1
1237
+ ],
1238
+ "revision": "dolt-committed-revision",
1239
+ "tracks": [
1240
+ {
1241
+ "trackId": "0197-track-video-1",
1242
+ "sequenceId": "0197-sequence-main",
1243
+ "kind": "video",
1244
+ "ordinal": 0,
1245
+ "name": "Video 1",
1246
+ "enabled": true,
1247
+ "locked": false,
1248
+ "blendMode": "normal"
1249
+ },
1250
+ {
1251
+ "trackId": "0197-track-video-2",
1252
+ "sequenceId": "0197-sequence-main",
1253
+ "kind": "video",
1254
+ "ordinal": 1,
1255
+ "name": "Video 2",
1256
+ "enabled": true,
1257
+ "locked": false,
1258
+ "blendMode": "normal"
1259
+ },
1260
+ {
1261
+ "trackId": "0197-track-audio-1",
1262
+ "sequenceId": "0197-sequence-main",
1263
+ "kind": "audio",
1264
+ "ordinal": 0,
1265
+ "name": "Narration",
1266
+ "enabled": true,
1267
+ "locked": false,
1268
+ "muted": false,
1269
+ "solo": false
1270
+ },
1271
+ {
1272
+ "trackId": "0197-track-caption",
1273
+ "sequenceId": "0197-sequence-main",
1274
+ "kind": "caption",
1275
+ "ordinal": 0,
1276
+ "name": "Captions",
1277
+ "enabled": true,
1278
+ "locked": false
1279
+ }
1280
+ ],
1281
+ "clips": [
1282
+ {
1283
+ "clipId": "0197-clip-video",
1284
+ "trackId": "0197-track-video-1",
1285
+ "timelineStartFrame": 0,
1286
+ "durationFrames": 150,
1287
+ "enabled": true,
1288
+ "source": {
1289
+ "kind": "timed",
1290
+ "artifactId": "0197-artifact-video",
1291
+ "range": {
1292
+ "streamId": "0197-stream-video",
1293
+ "objectHash": "sha256:video-object",
1294
+ "startTick": 60000,
1295
+ "durationTicks": 150000,
1296
+ "timeBase": {
1297
+ "numerator": 1,
1298
+ "denominator": 30000
1299
+ }
1300
+ }
1301
+ },
1302
+ "speed": {
1303
+ "numerator": 1,
1304
+ "denominator": 1
1305
+ },
1306
+ "reverse": false,
1307
+ "audioPolicy": "preserve-pitch",
1308
+ "transform": {
1309
+ "fit": "fill",
1310
+ "positionX": 0,
1311
+ "positionY": 0,
1312
+ "scaleX": 1,
1313
+ "scaleY": 1,
1314
+ "anchorX": 0.5,
1315
+ "anchorY": 0.5,
1316
+ "rotationDegrees": 0,
1317
+ "cropTop": 0,
1318
+ "cropRight": 0,
1319
+ "cropBottom": 0,
1320
+ "cropLeft": 0,
1321
+ "opacity": 1,
1322
+ "blendMode": "normal"
1323
+ }
1324
+ }
1325
+ ],
1326
+ "transitions": [],
1327
+ "captions": [
1328
+ {
1329
+ "cueId": "0197-caption-1",
1330
+ "trackId": "0197-track-caption",
1331
+ "timelineStartFrame": 0,
1332
+ "durationFrames": 90,
1333
+ "text": "The red van arrives at dusk.",
1334
+ "speaker": "Narrator",
1335
+ "styleId": "clean",
1336
+ "transcriptSelection": {
1337
+ "transcriptId": "0197-transcript",
1338
+ "transcriptRevision": "dolt-transcript-revision",
1339
+ "startWordId": "0197-word-1",
1340
+ "endWordId": "0197-word-6",
1341
+ "range": {
1342
+ "streamId": "0197-stream-audio",
1343
+ "objectHash": "sha256:audio-object",
1344
+ "startTick": 96000,
1345
+ "durationTicks": 240000,
1346
+ "timeBase": {
1347
+ "numerator": 1,
1348
+ "denominator": 48000
1349
+ }
1350
+ }
1351
+ }
1352
+ }
1353
+ ],
1354
+ "createdAt": 1750000000000
1355
+ },
1356
+ "previewHash": "sha256:preview"
1357
+ },
1358
+ "indexManifest": {
1359
+ "manifestId": "manifest-visual-v1",
1360
+ "provider": "local",
1361
+ "modelId": "fixture-multimodal",
1362
+ "modelRevision": "sha256:model",
1363
+ "license": "fixture-only",
1364
+ "embeddingSpace": "fixture-visual-v1",
1365
+ "dimensions": 4,
1366
+ "modalities": [
1367
+ "visual",
1368
+ "metadata"
1369
+ ],
1370
+ "supportedLanguages": [
1371
+ "en"
1372
+ ],
1373
+ "preprocessingVersion": "frames-v1",
1374
+ "extractorVersion": "extractor-v1",
1375
+ "createdAt": 1750000000000
1376
+ },
1377
+ "searchPage": {
1378
+ "hits": [
1379
+ {
1380
+ "artifactId": "0197-artifact-video",
1381
+ "artifactSlug": "vid-red-van",
1382
+ "artifactKind": "video",
1383
+ "location": {
1384
+ "kind": "timed",
1385
+ "artifactId": "0197-artifact-video",
1386
+ "range": {
1387
+ "streamId": "0197-stream-video",
1388
+ "objectHash": "sha256:video-object",
1389
+ "startTick": 60000,
1390
+ "durationTicks": 150000,
1391
+ "timeBase": {
1392
+ "numerator": 1,
1393
+ "denominator": 30000
1394
+ }
1395
+ }
1396
+ },
1397
+ "representativeTick": 120000,
1398
+ "score": 0.91,
1399
+ "signals": [
1400
+ {
1401
+ "kind": "visual",
1402
+ "rank": 1,
1403
+ "score": 0.92,
1404
+ "explanation": "red van arriving at dusk"
1405
+ },
1406
+ {
1407
+ "kind": "metadata",
1408
+ "rank": 2,
1409
+ "score": 0.7,
1410
+ "explanation": "user label: exterior"
1411
+ }
1412
+ ],
1413
+ "excerpt": "Red van enters frame from the left.",
1414
+ "indexManifestIds": [
1415
+ "manifest-visual-v1"
1416
+ ]
1417
+ }
1418
+ ],
1419
+ "nextCursor": "generation-1:page-2",
1420
+ "coverage": {
1421
+ "state": "partial",
1422
+ "generation": "generation-1",
1423
+ "modalities": [
1424
+ {
1425
+ "modality": "visual",
1426
+ "state": "partial",
1427
+ "indexedUnits": 12,
1428
+ "totalUnits": 20,
1429
+ "languageCoverage": "measured",
1430
+ "manifestId": "manifest-visual-v1"
1431
+ },
1432
+ {
1433
+ "modality": "speech",
1434
+ "state": "ready",
1435
+ "indexedUnits": 1,
1436
+ "totalUnits": 1,
1437
+ "languageCoverage": "measured",
1438
+ "manifestId": "manifest-text-v1"
1439
+ }
1440
+ ],
1441
+ "indexedArtifactCount": 1,
1442
+ "totalArtifactCount": 2,
1443
+ "partialResults": true
1444
+ }
1445
+ },
1446
+ "indexBatch": {
1447
+ "artifactId": "0197-artifact-video",
1448
+ "manifestId": "manifest-visual-v1",
1449
+ "phase": "visual",
1450
+ "committedUnits": 12,
1451
+ "coveredRanges": [
1452
+ {
1453
+ "streamId": "0197-stream-video",
1454
+ "objectHash": "sha256:video-object",
1455
+ "startTick": 60000,
1456
+ "durationTicks": 150000,
1457
+ "timeBase": {
1458
+ "numerator": 1,
1459
+ "denominator": 30000
1460
+ }
1461
+ }
1462
+ ],
1463
+ "nextCursor": "segment-12",
1464
+ "complete": false,
1465
+ "generation": "generation-1"
1466
+ },
1467
+ "jobProgress": {
1468
+ "phase": "embed-visual",
1469
+ "completedUnits": 12,
1470
+ "totalUnits": 20,
1471
+ "percent": 60,
1472
+ "elapsedMs": 12000,
1473
+ "estimatedRemainingMs": 8000
1474
+ },
1475
+ "jobFailure": {
1476
+ "code": "MODEL_UNAVAILABLE",
1477
+ "message": "The pinned visual model is not installed.",
1478
+ "retryable": true,
1479
+ "engineCode": "MODEL_UNAVAILABLE"
1480
+ },
1481
+ "migrationDryRun": {
1482
+ "contractVersion": 1,
1483
+ "sourceSchemaVersion": 4,
1484
+ "destinationSchemaVersion": 18,
1485
+ "sourceBookId": "0197-book-v4",
1486
+ "sourceHeadRevision": "dolt-v4-head",
1487
+ "artifactCount": 8,
1488
+ "notebookCount": 1,
1489
+ "timelineSlotCount": 4,
1490
+ "timelineAudioCount": 1,
1491
+ "objectCount": 12,
1492
+ "estimatedReindexArtifacts": 6,
1493
+ "issues": [
1494
+ {
1495
+ "code": "REINDEX_REQUIRED",
1496
+ "severity": "warning",
1497
+ "resource": "book:0197-book-v4",
1498
+ "message": "Schema-v4 similarity rows are rebuilt under v5 manifests."
1499
+ }
1500
+ ],
1501
+ "migrationKey": "sha256:migration-key"
1502
+ },
1503
+ "migrationResult": {
1504
+ "contractVersion": 1,
1505
+ "sourceSchemaVersion": 4,
1506
+ "destinationSchemaVersion": 18,
1507
+ "sourceBookId": "0197-book-v4",
1508
+ "sourceHeadRevision": "dolt-v4-head",
1509
+ "artifactCount": 8,
1510
+ "notebookCount": 1,
1511
+ "timelineSlotCount": 4,
1512
+ "timelineAudioCount": 1,
1513
+ "objectCount": 12,
1514
+ "estimatedReindexArtifacts": 6,
1515
+ "issues": [
1516
+ {
1517
+ "code": "REINDEX_REQUIRED",
1518
+ "severity": "warning",
1519
+ "resource": "book:0197-book-v4",
1520
+ "message": "Schema-v4 similarity rows are rebuilt under v5 manifests."
1521
+ }
1522
+ ],
1523
+ "migrationKey": "sha256:migration-key",
1524
+ "destinationBookId": "0197-book-v4",
1525
+ "destinationRevision": "dolt-v5-import",
1526
+ "importActionId": "0197-action-import",
1527
+ "reportArtifactId": "0197-artifact-migration-report",
1528
+ "copiedObjectCount": 10,
1529
+ "reusedObjectCount": 2,
1530
+ "completedAt": 1750000100000
1531
+ }
1532
+ }