@clipwright/core 0.34.0 → 0.35.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 (179) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/README.md +3 -1
  3. package/dist/account-actors.d.ts +173 -14
  4. package/dist/account-actors.js +142 -10
  5. package/dist/account-actors.js.map +1 -1
  6. package/dist/actor-bounds.d.ts +4 -0
  7. package/dist/actor-bounds.js +4 -0
  8. package/dist/actor-bounds.js.map +1 -1
  9. package/dist/actors.d.ts +31 -0
  10. package/dist/actors.js +26 -0
  11. package/dist/actors.js.map +1 -1
  12. package/dist/assets.d.ts +17 -1
  13. package/dist/assets.js +19 -2
  14. package/dist/assets.js.map +1 -1
  15. package/dist/billing-terms.d.ts +69 -0
  16. package/dist/billing-terms.js +8 -0
  17. package/dist/billing-terms.js.map +1 -1
  18. package/dist/contract-dispositions.d.ts +485 -1
  19. package/dist/contract-dispositions.js +27 -3
  20. package/dist/contract-dispositions.js.map +1 -1
  21. package/dist/contracts/v1/workflow-brief.d.ts +1420 -0
  22. package/dist/contracts/v1/workflow-brief.js +4 -0
  23. package/dist/contracts/v1/workflow-brief.js.map +1 -1
  24. package/dist/contracts/v1/workflow-catalog.d.ts +2141 -105
  25. package/dist/contracts/v1/workflow-catalog.js +4 -2
  26. package/dist/contracts/v1/workflow-catalog.js.map +1 -1
  27. package/dist/contracts/v1/workflow-client.d.ts +1631 -3
  28. package/dist/contracts/v1/workflow-client.js +6 -3
  29. package/dist/contracts/v1/workflow-client.js.map +1 -1
  30. package/dist/contracts/v1/workflow-execution.d.ts +161 -9
  31. package/dist/contracts/v1/workflow-execution.js +15 -7
  32. package/dist/contracts/v1/workflow-execution.js.map +1 -1
  33. package/dist/contracts/v1/workflow-plan.d.ts +3167 -142
  34. package/dist/contracts/v1/workflow-primitives.d.ts +3 -1
  35. package/dist/contracts/v1/workflow-primitives.js +1 -1
  36. package/dist/contracts/v1/workflow-primitives.js.map +1 -1
  37. package/dist/contracts/v1/workflow-run-read.d.ts +114 -1
  38. package/dist/edit-billing.d.ts +12 -0
  39. package/dist/edit-billing.js +8 -0
  40. package/dist/edit-billing.js.map +1 -1
  41. package/dist/edit-long-form.d.ts +1 -1
  42. package/dist/edit-long-form.js +12 -2
  43. package/dist/edit-long-form.js.map +1 -1
  44. package/dist/endpoint-notes.d.ts +3 -0
  45. package/dist/endpoint-notes.js +66 -0
  46. package/dist/endpoint-notes.js.map +1 -0
  47. package/dist/endpoints.d.ts +4 -0
  48. package/dist/endpoints.js +13 -0
  49. package/dist/endpoints.js.map +1 -1
  50. package/dist/errors.d.ts +1 -1
  51. package/dist/errors.js +6 -0
  52. package/dist/errors.js.map +1 -1
  53. package/dist/face-billing.d.ts +55 -0
  54. package/dist/face-billing.js +22 -0
  55. package/dist/face-billing.js.map +1 -1
  56. package/dist/faceless-price.d.ts +26 -2
  57. package/dist/faceless-price.js +33 -6
  58. package/dist/faceless-price.js.map +1 -1
  59. package/dist/faceless-public.d.ts +6 -1
  60. package/dist/faceless-public.js +2 -2
  61. package/dist/faceless-public.js.map +1 -1
  62. package/dist/generations.js +15 -16
  63. package/dist/generations.js.map +1 -1
  64. package/dist/idempotency.d.ts +2 -0
  65. package/dist/idempotency.js +7 -4
  66. package/dist/idempotency.js.map +1 -1
  67. package/dist/index.d.ts +11 -0
  68. package/dist/index.js +13 -0
  69. package/dist/index.js.map +1 -1
  70. package/dist/long-form-pricing.d.ts +7 -4
  71. package/dist/long-form-pricing.js +13 -10
  72. package/dist/long-form-pricing.js.map +1 -1
  73. package/dist/long-form-revision.js +1 -1
  74. package/dist/long-form-revision.js.map +1 -1
  75. package/dist/openapi.d.ts +154 -0
  76. package/dist/openapi.js +334 -0
  77. package/dist/openapi.js.map +1 -0
  78. package/dist/pacing.d.ts +15 -0
  79. package/dist/pacing.js +30 -0
  80. package/dist/pacing.js.map +1 -1
  81. package/dist/parts-pricing.d.ts +84 -0
  82. package/dist/parts-pricing.js +105 -0
  83. package/dist/parts-pricing.js.map +1 -0
  84. package/dist/presenter-beats.d.ts +45 -0
  85. package/dist/presenter-beats.js +144 -0
  86. package/dist/presenter-beats.js.map +1 -0
  87. package/dist/prices.d.ts +98 -0
  88. package/dist/prices.js +189 -0
  89. package/dist/prices.js.map +1 -0
  90. package/dist/public-responses.d.ts +23 -0
  91. package/dist/public-responses.js +11 -0
  92. package/dist/public-responses.js.map +1 -0
  93. package/dist/reference-analysis.d.ts +683 -0
  94. package/dist/reference-analysis.js +91 -0
  95. package/dist/reference-analysis.js.map +1 -0
  96. package/dist/reference-kinds.d.ts +6 -0
  97. package/dist/reference-kinds.js +8 -0
  98. package/dist/reference-kinds.js.map +1 -0
  99. package/dist/reference-profile.d.ts +633 -0
  100. package/dist/reference-profile.js +151 -0
  101. package/dist/reference-profile.js.map +1 -0
  102. package/dist/reference-staging.d.ts +571 -0
  103. package/dist/reference-staging.js +151 -0
  104. package/dist/reference-staging.js.map +1 -0
  105. package/dist/reference-voice.d.ts +305 -0
  106. package/dist/reference-voice.js +108 -0
  107. package/dist/reference-voice.js.map +1 -0
  108. package/dist/resolved-timeline.d.ts +53 -1
  109. package/dist/resolved-timeline.js +50 -4
  110. package/dist/resolved-timeline.js.map +1 -1
  111. package/dist/run-static-warnings.js +14 -5
  112. package/dist/run-static-warnings.js.map +1 -1
  113. package/dist/runs.d.ts +75 -3
  114. package/dist/runs.js +6 -1
  115. package/dist/runs.js.map +1 -1
  116. package/dist/skills.d.ts +1805 -24
  117. package/dist/skills.js +129 -19
  118. package/dist/skills.js.map +1 -1
  119. package/dist/templates/callout.d.ts +2 -2
  120. package/dist/templates/callout.js +6 -6
  121. package/dist/templates/callout.js.map +1 -1
  122. package/dist/templates/checklist.js +2 -2
  123. package/dist/templates/checklist.js.map +1 -1
  124. package/dist/templates/index.d.ts +14 -7
  125. package/dist/templates/index.js +29 -17
  126. package/dist/templates/index.js.map +1 -1
  127. package/dist/templates/notification.js +2 -2
  128. package/dist/templates/notification.js.map +1 -1
  129. package/dist/templates/phone-call.d.ts +3 -0
  130. package/dist/templates/phone-call.js +14 -7
  131. package/dist/templates/phone-call.js.map +1 -1
  132. package/dist/templates/progress.js +2 -2
  133. package/dist/templates/progress.js.map +1 -1
  134. package/dist/templates/sounds.d.ts +357 -7
  135. package/dist/templates/sounds.js +34 -12
  136. package/dist/templates/sounds.js.map +1 -1
  137. package/dist/ugc-call.d.ts +89 -0
  138. package/dist/ugc-call.js +111 -0
  139. package/dist/ugc-call.js.map +1 -0
  140. package/dist/ugc-framing.d.ts +26 -0
  141. package/dist/ugc-framing.js +64 -0
  142. package/dist/ugc-framing.js.map +1 -0
  143. package/dist/ugc-layers.d.ts +5 -1
  144. package/dist/ugc-layers.js +6 -1
  145. package/dist/ugc-layers.js.map +1 -1
  146. package/dist/vendor-response.d.ts +4 -0
  147. package/dist/vendor-response.js +12 -0
  148. package/dist/vendor-response.js.map +1 -1
  149. package/dist/voice-admission.d.ts +409 -0
  150. package/dist/voice-listing.js +7 -1
  151. package/dist/voice-listing.js.map +1 -1
  152. package/dist/voice-pace.d.ts +34 -0
  153. package/dist/voice-pace.generated.json +72 -0
  154. package/dist/voice-pace.js +34 -0
  155. package/dist/voice-pace.js.map +1 -0
  156. package/dist/voices.d.ts +21 -8
  157. package/dist/voices.js +44 -19
  158. package/dist/voices.js.map +1 -1
  159. package/dist/workflows/catalog.js +2 -1
  160. package/dist/workflows/catalog.js.map +1 -1
  161. package/dist/workflows/index.d.ts +2 -0
  162. package/dist/workflows/index.js +2 -0
  163. package/dist/workflows/index.js.map +1 -1
  164. package/dist/workflows/methods/faceless-explainer.d.ts +377 -10
  165. package/dist/workflows/methods/kinetic-launch.d.ts +377 -10
  166. package/dist/workflows/methods/product-image-story.d.ts +377 -10
  167. package/dist/workflows/methods/reference-remake.d.ts +870 -0
  168. package/dist/workflows/methods/reference-remake.js +26 -0
  169. package/dist/workflows/methods/reference-remake.js.map +1 -0
  170. package/dist/workflows/methods/shared.d.ts +377 -10
  171. package/dist/workflows/methods/ugc-faq-answer.d.ts +377 -10
  172. package/dist/workflows/methods/ugc-product-intro.d.ts +377 -10
  173. package/dist/workflows/methods/website-proof-demo.d.ts +377 -10
  174. package/dist/workflows/reference-remake.d.ts +663 -0
  175. package/dist/workflows/reference-remake.js +598 -0
  176. package/dist/workflows/reference-remake.js.map +1 -0
  177. package/dist/workflows/validate.js +7 -4
  178. package/dist/workflows/validate.js.map +1 -1
  179. package/package.json +8 -2
@@ -0,0 +1,571 @@
1
+ import { z } from "zod";
2
+ export declare const REFERENCE_STAGING_VERSION = "reference-staging-v1";
3
+ export declare const STAGING_METHODS: readonly ["cv-cells/v1", "cv-template/v1", "cv-parallax/v1", "cv-before-after/v1", "yunet-native/v1", "vision-video", "vision-still"];
4
+ export declare const STAGING_ANCHOR_KINDS: readonly ["cut", "flash", "freeze_start", "freeze_end", "beat"];
5
+ export declare const STAGING_ENTRY_STYLES: readonly ["pop", "fade", "blur_in", "slide", "scale_up", "tilt_in", "typewriter", "wipe", "unknown"];
6
+ export declare const STAGING_EXIT_STYLES: readonly ["pop", "fade", "blur_in", "slide", "scale_up", "tilt_in", "typewriter", "wipe", "unknown", "cut", "flash"];
7
+ export declare const STAGING_SIDES: readonly ["left", "right", "top", "bottom", "lower_left", "lower_right", "upper_left", "upper_right", "none"];
8
+ export declare const STAGING_LAYERS: readonly ["in_front_of_presenter", "behind_presenter", "no_overlap", "presenter_absent", "unknown"];
9
+ export declare const STAGING_COVERS: readonly ["hair", "face", "shoulder", "hand", "body", "chair", "microphone", "desk", "other"];
10
+ export type StagingCover = (typeof STAGING_COVERS)[number];
11
+ export declare const STAGING_MOTIONS: readonly ["static", "float", "drift", "scale", "moves_with_frame", "pushed"];
12
+ export declare const STAGING_GAZES: readonly ["camera", "up_left", "up_right", "left", "right", "down", "element", "closed"];
13
+ /** The image side the top of the head leans to; a roll within ±5° is upright. */
14
+ export declare const STAGING_HEAD_ROLLS: readonly ["left", "right", "upright"];
15
+ export declare const STAGING_EXPRESSIONS: readonly ["neutral", "smile", "surprised", "thinking", "other"];
16
+ export declare const STAGING_HANDS: readonly ["at_chest", "gesturing", "out_of_frame", "other"];
17
+ export declare const STAGING_FREEZE_ENDS: readonly ["cut", "flash", "unfreeze", "end"];
18
+ export declare const stagingRect: z.ZodObject<{
19
+ left: z.ZodNumber;
20
+ top: z.ZodNumber;
21
+ width: z.ZodNumber;
22
+ height: z.ZodNumber;
23
+ }, z.core.$strict>;
24
+ export type StagingRect = z.infer<typeof stagingRect>;
25
+ export declare const stagingFaceRect: z.ZodObject<{
26
+ left: z.ZodNumber;
27
+ top: z.ZodNumber;
28
+ width: z.ZodNumber;
29
+ height: z.ZodNumber;
30
+ }, z.core.$strict>;
31
+ /** A moment named by its anchor: the nearest anchor on a side is never used, because it moves when the edit does. */
32
+ export declare const stagingAnchorRef: z.ZodObject<{
33
+ id: z.ZodString;
34
+ offset_s: z.ZodNumber;
35
+ }, z.core.$strict>;
36
+ export declare const stagingElement: z.ZodObject<{
37
+ id: z.ZodString;
38
+ beat_index: z.ZodNumber;
39
+ graphic_index: z.ZodNullable<z.ZodNumber>;
40
+ kind: z.ZodEnum<{
41
+ before_after_split: "before_after_split";
42
+ callout: "callout";
43
+ checklist: "checklist";
44
+ compare: "compare";
45
+ end_card: "end_card";
46
+ insert_media: "insert_media";
47
+ layout_split: "layout_split";
48
+ lower_third: "lower_third";
49
+ notification: "notification";
50
+ other: "other";
51
+ overlay_media: "overlay_media";
52
+ particles: "particles";
53
+ phone_call: "phone_call";
54
+ product_ui: "product_ui";
55
+ progress: "progress";
56
+ quote: "quote";
57
+ rating: "rating";
58
+ screenshot: "screenshot";
59
+ split_screen: "split_screen";
60
+ stat: "stat";
61
+ tag: "tag";
62
+ title_card: "title_card";
63
+ toggle_checklist: "toggle_checklist";
64
+ unmapped: "unmapped";
65
+ }>;
66
+ rect_hold: z.ZodOptional<z.ZodObject<{
67
+ left: z.ZodNumber;
68
+ top: z.ZodNumber;
69
+ width: z.ZodNumber;
70
+ height: z.ZodNumber;
71
+ }, z.core.$strict>>;
72
+ rect_hold_face: z.ZodOptional<z.ZodObject<{
73
+ left: z.ZodNumber;
74
+ top: z.ZodNumber;
75
+ width: z.ZodNumber;
76
+ height: z.ZodNumber;
77
+ }, z.core.$strict>>;
78
+ rect_method: z.ZodOptional<z.ZodEnum<{
79
+ "cv-before-after/v1": "cv-before-after/v1";
80
+ "cv-cells/v1": "cv-cells/v1";
81
+ "cv-parallax/v1": "cv-parallax/v1";
82
+ "cv-template/v1": "cv-template/v1";
83
+ "vision-still": "vision-still";
84
+ "vision-video": "vision-video";
85
+ "yunet-native/v1": "yunet-native/v1";
86
+ }>>;
87
+ rects: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ t_s: z.ZodNumber;
89
+ rect: z.ZodObject<{
90
+ left: z.ZodNumber;
91
+ top: z.ZodNumber;
92
+ width: z.ZodNumber;
93
+ height: z.ZodNumber;
94
+ }, z.core.$strict>;
95
+ visible: z.ZodNumber;
96
+ }, z.core.$strict>>>;
97
+ entry: z.ZodOptional<z.ZodObject<{
98
+ first_visible_s: z.ZodOptional<z.ZodNumber>;
99
+ settled_s: z.ZodOptional<z.ZodNumber>;
100
+ anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
101
+ id: z.ZodString;
102
+ offset_s: z.ZodNumber;
103
+ }, z.core.$strict>>>;
104
+ style: z.ZodOptional<z.ZodEnum<{
105
+ blur_in: "blur_in";
106
+ fade: "fade";
107
+ pop: "pop";
108
+ scale_up: "scale_up";
109
+ slide: "slide";
110
+ tilt_in: "tilt_in";
111
+ typewriter: "typewriter";
112
+ unknown: "unknown";
113
+ wipe: "wipe";
114
+ }>>;
115
+ from: z.ZodOptional<z.ZodEnum<{
116
+ bottom: "bottom";
117
+ left: "left";
118
+ lower_left: "lower_left";
119
+ lower_right: "lower_right";
120
+ none: "none";
121
+ right: "right";
122
+ top: "top";
123
+ upper_left: "upper_left";
124
+ upper_right: "upper_right";
125
+ }>>;
126
+ duration_s: z.ZodOptional<z.ZodNumber>;
127
+ displacement: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
128
+ scale_from: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
129
+ method: z.ZodOptional<z.ZodEnum<{
130
+ "cv-before-after/v1": "cv-before-after/v1";
131
+ "cv-cells/v1": "cv-cells/v1";
132
+ "cv-parallax/v1": "cv-parallax/v1";
133
+ "cv-template/v1": "cv-template/v1";
134
+ "vision-still": "vision-still";
135
+ "vision-video": "vision-video";
136
+ "yunet-native/v1": "yunet-native/v1";
137
+ }>>;
138
+ }, z.core.$strict>>;
139
+ exit: z.ZodOptional<z.ZodObject<{
140
+ last_visible_s: z.ZodOptional<z.ZodNumber>;
141
+ anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
142
+ id: z.ZodString;
143
+ offset_s: z.ZodNumber;
144
+ }, z.core.$strict>>>;
145
+ style: z.ZodOptional<z.ZodEnum<{
146
+ blur_in: "blur_in";
147
+ cut: "cut";
148
+ fade: "fade";
149
+ flash: "flash";
150
+ pop: "pop";
151
+ scale_up: "scale_up";
152
+ slide: "slide";
153
+ tilt_in: "tilt_in";
154
+ typewriter: "typewriter";
155
+ unknown: "unknown";
156
+ wipe: "wipe";
157
+ }>>;
158
+ to: z.ZodOptional<z.ZodEnum<{
159
+ bottom: "bottom";
160
+ left: "left";
161
+ lower_left: "lower_left";
162
+ lower_right: "lower_right";
163
+ none: "none";
164
+ right: "right";
165
+ top: "top";
166
+ upper_left: "upper_left";
167
+ upper_right: "upper_right";
168
+ }>>;
169
+ duration_s: z.ZodOptional<z.ZodNumber>;
170
+ displacement: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
171
+ method: z.ZodOptional<z.ZodEnum<{
172
+ "cv-before-after/v1": "cv-before-after/v1";
173
+ "cv-cells/v1": "cv-cells/v1";
174
+ "cv-parallax/v1": "cv-parallax/v1";
175
+ "cv-template/v1": "cv-template/v1";
176
+ "vision-still": "vision-still";
177
+ "vision-video": "vision-video";
178
+ "yunet-native/v1": "yunet-native/v1";
179
+ }>>;
180
+ }, z.core.$strict>>;
181
+ layer: z.ZodOptional<z.ZodObject<{
182
+ value: z.ZodEnum<{
183
+ behind_presenter: "behind_presenter";
184
+ in_front_of_presenter: "in_front_of_presenter";
185
+ no_overlap: "no_overlap";
186
+ presenter_absent: "presenter_absent";
187
+ unknown: "unknown";
188
+ }>;
189
+ method: z.ZodEnum<{
190
+ "cv-before-after/v1": "cv-before-after/v1";
191
+ "cv-cells/v1": "cv-cells/v1";
192
+ "cv-parallax/v1": "cv-parallax/v1";
193
+ "cv-template/v1": "cv-template/v1";
194
+ "vision-still": "vision-still";
195
+ "vision-video": "vision-video";
196
+ "yunet-native/v1": "yunet-native/v1";
197
+ }>;
198
+ covered_by: z.ZodArray<z.ZodEnum<{
199
+ body: "body";
200
+ chair: "chair";
201
+ desk: "desk";
202
+ face: "face";
203
+ hair: "hair";
204
+ hand: "hand";
205
+ microphone: "microphone";
206
+ other: "other";
207
+ shoulder: "shoulder";
208
+ }>>;
209
+ face_clear: z.ZodOptional<z.ZodBoolean>;
210
+ face_core_cover_max: z.ZodOptional<z.ZodNumber>;
211
+ face_covered_share: z.ZodOptional<z.ZodNumber>;
212
+ blurs_presenter: z.ZodOptional<z.ZodBoolean>;
213
+ }, z.core.$strict>>;
214
+ motion: z.ZodOptional<z.ZodObject<{
215
+ kind: z.ZodOptional<z.ZodEnum<{
216
+ drift: "drift";
217
+ float: "float";
218
+ moves_with_frame: "moves_with_frame";
219
+ pushed: "pushed";
220
+ scale: "scale";
221
+ static: "static";
222
+ }>>;
223
+ drift_per_s: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>;
224
+ scale_per_s: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
225
+ wobble: z.ZodOptional<z.ZodOptional<z.ZodObject<{
226
+ amplitude: z.ZodNumber;
227
+ period_s: z.ZodNumber;
228
+ }, z.core.$strict>>>;
229
+ }, z.core.$strict>>;
230
+ }, z.core.$strict>;
231
+ export type StagingElement = z.infer<typeof stagingElement>;
232
+ export declare const stagingFreeze: z.ZodObject<{
233
+ start_s: z.ZodNumber;
234
+ end_s: z.ZodNumber;
235
+ anchors: z.ZodArray<z.ZodObject<{
236
+ id: z.ZodString;
237
+ offset_s: z.ZodNumber;
238
+ }, z.core.$strict>>;
239
+ face_box_start: z.ZodObject<{
240
+ left: z.ZodNumber;
241
+ top: z.ZodNumber;
242
+ width: z.ZodNumber;
243
+ height: z.ZodNumber;
244
+ }, z.core.$strict>;
245
+ face_box_end: z.ZodObject<{
246
+ left: z.ZodNumber;
247
+ top: z.ZodNumber;
248
+ width: z.ZodNumber;
249
+ height: z.ZodNumber;
250
+ }, z.core.$strict>;
251
+ roll_deg: z.ZodNumber;
252
+ yaw: z.ZodNumber;
253
+ pitch: z.ZodNumber;
254
+ gaze: z.ZodOptional<z.ZodEnum<{
255
+ camera: "camera";
256
+ closed: "closed";
257
+ down: "down";
258
+ element: "element";
259
+ left: "left";
260
+ right: "right";
261
+ up_left: "up_left";
262
+ up_right: "up_right";
263
+ }>>;
264
+ head_roll: z.ZodEnum<{
265
+ left: "left";
266
+ right: "right";
267
+ upright: "upright";
268
+ }>;
269
+ expression: z.ZodOptional<z.ZodEnum<{
270
+ neutral: "neutral";
271
+ other: "other";
272
+ smile: "smile";
273
+ surprised: "surprised";
274
+ thinking: "thinking";
275
+ }>>;
276
+ hands: z.ZodOptional<z.ZodEnum<{
277
+ at_chest: "at_chest";
278
+ gesturing: "gesturing";
279
+ other: "other";
280
+ out_of_frame: "out_of_frame";
281
+ }>>;
282
+ frame_motion: z.ZodOptional<z.ZodObject<{
283
+ scale_end: z.ZodNumber;
284
+ centre_shift: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
285
+ }, z.core.$strict>>;
286
+ ends_with: z.ZodEnum<{
287
+ cut: "cut";
288
+ end: "end";
289
+ flash: "flash";
290
+ unfreeze: "unfreeze";
291
+ }>;
292
+ }, z.core.$strict>;
293
+ export type StagingFreeze = z.infer<typeof stagingFreeze>;
294
+ export declare const referenceStaging: z.ZodObject<{
295
+ version: z.ZodLiteral<"reference-staging-v1">;
296
+ analysis_width: z.ZodNumber;
297
+ anchors: z.ZodArray<z.ZodObject<{
298
+ id: z.ZodString;
299
+ t_s: z.ZodNumber;
300
+ }, z.core.$strict>>;
301
+ elements: z.ZodArray<z.ZodObject<{
302
+ id: z.ZodString;
303
+ beat_index: z.ZodNumber;
304
+ graphic_index: z.ZodNullable<z.ZodNumber>;
305
+ kind: z.ZodEnum<{
306
+ before_after_split: "before_after_split";
307
+ callout: "callout";
308
+ checklist: "checklist";
309
+ compare: "compare";
310
+ end_card: "end_card";
311
+ insert_media: "insert_media";
312
+ layout_split: "layout_split";
313
+ lower_third: "lower_third";
314
+ notification: "notification";
315
+ other: "other";
316
+ overlay_media: "overlay_media";
317
+ particles: "particles";
318
+ phone_call: "phone_call";
319
+ product_ui: "product_ui";
320
+ progress: "progress";
321
+ quote: "quote";
322
+ rating: "rating";
323
+ screenshot: "screenshot";
324
+ split_screen: "split_screen";
325
+ stat: "stat";
326
+ tag: "tag";
327
+ title_card: "title_card";
328
+ toggle_checklist: "toggle_checklist";
329
+ unmapped: "unmapped";
330
+ }>;
331
+ rect_hold: z.ZodOptional<z.ZodObject<{
332
+ left: z.ZodNumber;
333
+ top: z.ZodNumber;
334
+ width: z.ZodNumber;
335
+ height: z.ZodNumber;
336
+ }, z.core.$strict>>;
337
+ rect_hold_face: z.ZodOptional<z.ZodObject<{
338
+ left: z.ZodNumber;
339
+ top: z.ZodNumber;
340
+ width: z.ZodNumber;
341
+ height: z.ZodNumber;
342
+ }, z.core.$strict>>;
343
+ rect_method: z.ZodOptional<z.ZodEnum<{
344
+ "cv-before-after/v1": "cv-before-after/v1";
345
+ "cv-cells/v1": "cv-cells/v1";
346
+ "cv-parallax/v1": "cv-parallax/v1";
347
+ "cv-template/v1": "cv-template/v1";
348
+ "vision-still": "vision-still";
349
+ "vision-video": "vision-video";
350
+ "yunet-native/v1": "yunet-native/v1";
351
+ }>>;
352
+ rects: z.ZodOptional<z.ZodArray<z.ZodObject<{
353
+ t_s: z.ZodNumber;
354
+ rect: z.ZodObject<{
355
+ left: z.ZodNumber;
356
+ top: z.ZodNumber;
357
+ width: z.ZodNumber;
358
+ height: z.ZodNumber;
359
+ }, z.core.$strict>;
360
+ visible: z.ZodNumber;
361
+ }, z.core.$strict>>>;
362
+ entry: z.ZodOptional<z.ZodObject<{
363
+ first_visible_s: z.ZodOptional<z.ZodNumber>;
364
+ settled_s: z.ZodOptional<z.ZodNumber>;
365
+ anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
366
+ id: z.ZodString;
367
+ offset_s: z.ZodNumber;
368
+ }, z.core.$strict>>>;
369
+ style: z.ZodOptional<z.ZodEnum<{
370
+ blur_in: "blur_in";
371
+ fade: "fade";
372
+ pop: "pop";
373
+ scale_up: "scale_up";
374
+ slide: "slide";
375
+ tilt_in: "tilt_in";
376
+ typewriter: "typewriter";
377
+ unknown: "unknown";
378
+ wipe: "wipe";
379
+ }>>;
380
+ from: z.ZodOptional<z.ZodEnum<{
381
+ bottom: "bottom";
382
+ left: "left";
383
+ lower_left: "lower_left";
384
+ lower_right: "lower_right";
385
+ none: "none";
386
+ right: "right";
387
+ top: "top";
388
+ upper_left: "upper_left";
389
+ upper_right: "upper_right";
390
+ }>>;
391
+ duration_s: z.ZodOptional<z.ZodNumber>;
392
+ displacement: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
393
+ scale_from: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
394
+ method: z.ZodOptional<z.ZodEnum<{
395
+ "cv-before-after/v1": "cv-before-after/v1";
396
+ "cv-cells/v1": "cv-cells/v1";
397
+ "cv-parallax/v1": "cv-parallax/v1";
398
+ "cv-template/v1": "cv-template/v1";
399
+ "vision-still": "vision-still";
400
+ "vision-video": "vision-video";
401
+ "yunet-native/v1": "yunet-native/v1";
402
+ }>>;
403
+ }, z.core.$strict>>;
404
+ exit: z.ZodOptional<z.ZodObject<{
405
+ last_visible_s: z.ZodOptional<z.ZodNumber>;
406
+ anchors: z.ZodOptional<z.ZodArray<z.ZodObject<{
407
+ id: z.ZodString;
408
+ offset_s: z.ZodNumber;
409
+ }, z.core.$strict>>>;
410
+ style: z.ZodOptional<z.ZodEnum<{
411
+ blur_in: "blur_in";
412
+ cut: "cut";
413
+ fade: "fade";
414
+ flash: "flash";
415
+ pop: "pop";
416
+ scale_up: "scale_up";
417
+ slide: "slide";
418
+ tilt_in: "tilt_in";
419
+ typewriter: "typewriter";
420
+ unknown: "unknown";
421
+ wipe: "wipe";
422
+ }>>;
423
+ to: z.ZodOptional<z.ZodEnum<{
424
+ bottom: "bottom";
425
+ left: "left";
426
+ lower_left: "lower_left";
427
+ lower_right: "lower_right";
428
+ none: "none";
429
+ right: "right";
430
+ top: "top";
431
+ upper_left: "upper_left";
432
+ upper_right: "upper_right";
433
+ }>>;
434
+ duration_s: z.ZodOptional<z.ZodNumber>;
435
+ displacement: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
436
+ method: z.ZodOptional<z.ZodEnum<{
437
+ "cv-before-after/v1": "cv-before-after/v1";
438
+ "cv-cells/v1": "cv-cells/v1";
439
+ "cv-parallax/v1": "cv-parallax/v1";
440
+ "cv-template/v1": "cv-template/v1";
441
+ "vision-still": "vision-still";
442
+ "vision-video": "vision-video";
443
+ "yunet-native/v1": "yunet-native/v1";
444
+ }>>;
445
+ }, z.core.$strict>>;
446
+ layer: z.ZodOptional<z.ZodObject<{
447
+ value: z.ZodEnum<{
448
+ behind_presenter: "behind_presenter";
449
+ in_front_of_presenter: "in_front_of_presenter";
450
+ no_overlap: "no_overlap";
451
+ presenter_absent: "presenter_absent";
452
+ unknown: "unknown";
453
+ }>;
454
+ method: z.ZodEnum<{
455
+ "cv-before-after/v1": "cv-before-after/v1";
456
+ "cv-cells/v1": "cv-cells/v1";
457
+ "cv-parallax/v1": "cv-parallax/v1";
458
+ "cv-template/v1": "cv-template/v1";
459
+ "vision-still": "vision-still";
460
+ "vision-video": "vision-video";
461
+ "yunet-native/v1": "yunet-native/v1";
462
+ }>;
463
+ covered_by: z.ZodArray<z.ZodEnum<{
464
+ body: "body";
465
+ chair: "chair";
466
+ desk: "desk";
467
+ face: "face";
468
+ hair: "hair";
469
+ hand: "hand";
470
+ microphone: "microphone";
471
+ other: "other";
472
+ shoulder: "shoulder";
473
+ }>>;
474
+ face_clear: z.ZodOptional<z.ZodBoolean>;
475
+ face_core_cover_max: z.ZodOptional<z.ZodNumber>;
476
+ face_covered_share: z.ZodOptional<z.ZodNumber>;
477
+ blurs_presenter: z.ZodOptional<z.ZodBoolean>;
478
+ }, z.core.$strict>>;
479
+ motion: z.ZodOptional<z.ZodObject<{
480
+ kind: z.ZodOptional<z.ZodEnum<{
481
+ drift: "drift";
482
+ float: "float";
483
+ moves_with_frame: "moves_with_frame";
484
+ pushed: "pushed";
485
+ scale: "scale";
486
+ static: "static";
487
+ }>>;
488
+ drift_per_s: z.ZodOptional<z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>;
489
+ scale_per_s: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
490
+ wobble: z.ZodOptional<z.ZodOptional<z.ZodObject<{
491
+ amplitude: z.ZodNumber;
492
+ period_s: z.ZodNumber;
493
+ }, z.core.$strict>>>;
494
+ }, z.core.$strict>>;
495
+ }, z.core.$strict>>;
496
+ freezes: z.ZodArray<z.ZodObject<{
497
+ start_s: z.ZodNumber;
498
+ end_s: z.ZodNumber;
499
+ anchors: z.ZodArray<z.ZodObject<{
500
+ id: z.ZodString;
501
+ offset_s: z.ZodNumber;
502
+ }, z.core.$strict>>;
503
+ face_box_start: z.ZodObject<{
504
+ left: z.ZodNumber;
505
+ top: z.ZodNumber;
506
+ width: z.ZodNumber;
507
+ height: z.ZodNumber;
508
+ }, z.core.$strict>;
509
+ face_box_end: z.ZodObject<{
510
+ left: z.ZodNumber;
511
+ top: z.ZodNumber;
512
+ width: z.ZodNumber;
513
+ height: z.ZodNumber;
514
+ }, z.core.$strict>;
515
+ roll_deg: z.ZodNumber;
516
+ yaw: z.ZodNumber;
517
+ pitch: z.ZodNumber;
518
+ gaze: z.ZodOptional<z.ZodEnum<{
519
+ camera: "camera";
520
+ closed: "closed";
521
+ down: "down";
522
+ element: "element";
523
+ left: "left";
524
+ right: "right";
525
+ up_left: "up_left";
526
+ up_right: "up_right";
527
+ }>>;
528
+ head_roll: z.ZodEnum<{
529
+ left: "left";
530
+ right: "right";
531
+ upright: "upright";
532
+ }>;
533
+ expression: z.ZodOptional<z.ZodEnum<{
534
+ neutral: "neutral";
535
+ other: "other";
536
+ smile: "smile";
537
+ surprised: "surprised";
538
+ thinking: "thinking";
539
+ }>>;
540
+ hands: z.ZodOptional<z.ZodEnum<{
541
+ at_chest: "at_chest";
542
+ gesturing: "gesturing";
543
+ other: "other";
544
+ out_of_frame: "out_of_frame";
545
+ }>>;
546
+ frame_motion: z.ZodOptional<z.ZodObject<{
547
+ scale_end: z.ZodNumber;
548
+ centre_shift: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
549
+ }, z.core.$strict>>;
550
+ ends_with: z.ZodEnum<{
551
+ cut: "cut";
552
+ end: "end";
553
+ flash: "flash";
554
+ unfreeze: "unfreeze";
555
+ }>;
556
+ }, z.core.$strict>>;
557
+ }, z.core.$strict>;
558
+ export type ReferenceStaging = z.infer<typeof referenceStaging>;
559
+ /** Cross-field checks a profile runs on its staging: the beats and graphics it names exist, its anchors exist, and its times are ordered. */
560
+ export declare function stagingIssues(staging: ReferenceStaging, beats: readonly {
561
+ graphics: readonly unknown[];
562
+ }[], duration: number): {
563
+ path: (string | number)[];
564
+ message: string;
565
+ }[];
566
+ /** A frame rect in face units: origin the face box's centre, unit its height in pixels (Q2: our actor does not sit where theirs does). */
567
+ export declare function faceRelativeRect(rect: StagingRect, face: StagingRect, width: number, height: number): z.infer<typeof stagingFaceRect>;
568
+ /** Samples thinned to change points: one is kept when an edge moved more than `tolerance` since the last kept, and the last always stays. */
569
+ export declare function thinStagingRects<T extends {
570
+ rect: StagingRect;
571
+ }>(samples: readonly T[], tolerance?: number, max?: number): T[];