@clipwright/core 0.36.0 → 0.37.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 (88) hide show
  1. package/dist/actors.d.ts +8 -0
  2. package/dist/actors.js +2 -0
  3. package/dist/actors.js.map +1 -1
  4. package/dist/caption-geometry.d.ts +43 -0
  5. package/dist/caption-geometry.js +41 -0
  6. package/dist/caption-geometry.js.map +1 -0
  7. package/dist/contract-dispositions.d.ts +997 -35
  8. package/dist/contract-dispositions.js +25 -5
  9. package/dist/contract-dispositions.js.map +1 -1
  10. package/dist/contracts/v1/workflow-brief.d.ts +2024 -38
  11. package/dist/contracts/v1/workflow-brief.js +2 -2
  12. package/dist/contracts/v1/workflow-brief.js.map +1 -1
  13. package/dist/contracts/v1/workflow-catalog.d.ts +2154 -72
  14. package/dist/contracts/v1/workflow-client.d.ts +1207 -70
  15. package/dist/contracts/v1/workflow-plan.d.ts +3234 -111
  16. package/dist/edit-billing.d.ts +1 -0
  17. package/dist/edit-billing.js +2 -0
  18. package/dist/edit-billing.js.map +1 -1
  19. package/dist/edit-document.d.ts +22 -0
  20. package/dist/edit-document.js +3 -0
  21. package/dist/edit-document.js.map +1 -1
  22. package/dist/edit-long-form.js +1 -1
  23. package/dist/edit-long-form.js.map +1 -1
  24. package/dist/edit-revision.d.ts +9 -0
  25. package/dist/edit-rules.d.ts +1 -0
  26. package/dist/edit-rules.js +3 -0
  27. package/dist/edit-rules.js.map +1 -1
  28. package/dist/edit-shots.d.ts +2 -0
  29. package/dist/edit-validate.d.ts +4 -2
  30. package/dist/edit-validate.js +18 -2
  31. package/dist/edit-validate.js.map +1 -1
  32. package/dist/errors.d.ts +1 -0
  33. package/dist/faceless-media-record.d.ts +27 -0
  34. package/dist/faceless-media-record.js +15 -1
  35. package/dist/faceless-media-record.js.map +1 -1
  36. package/dist/faceless-public.d.ts +107 -0
  37. package/dist/faceless-public.js +34 -1
  38. package/dist/faceless-public.js.map +1 -1
  39. package/dist/index.d.ts +4 -0
  40. package/dist/index.js +4 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/long-form-revision.d.ts +8 -0
  43. package/dist/openapi.js +2 -2
  44. package/dist/openapi.js.map +1 -1
  45. package/dist/presenter-beats.d.ts +1 -1
  46. package/dist/reference-analysis.d.ts +436 -75
  47. package/dist/reference-analysis.js +149 -28
  48. package/dist/reference-analysis.js.map +1 -1
  49. package/dist/reference-display.d.ts +36 -0
  50. package/dist/reference-display.js +78 -0
  51. package/dist/reference-display.js.map +1 -0
  52. package/dist/reference-profile.d.ts +2352 -36
  53. package/dist/reference-profile.js +138 -10
  54. package/dist/reference-profile.js.map +1 -1
  55. package/dist/reference-staging.d.ts +59 -57
  56. package/dist/reference-staging.js +6 -5
  57. package/dist/reference-staging.js.map +1 -1
  58. package/dist/resolved-timeline.d.ts +199 -2
  59. package/dist/resolved-timeline.js +17 -5
  60. package/dist/resolved-timeline.js.map +1 -1
  61. package/dist/scene-place.d.ts +225 -0
  62. package/dist/scene-place.js +120 -0
  63. package/dist/scene-place.js.map +1 -0
  64. package/dist/skills.d.ts +4677 -22
  65. package/dist/skills.js +130 -17
  66. package/dist/skills.js.map +1 -1
  67. package/dist/templates/index.d.ts +14 -4
  68. package/dist/templates/index.js +49 -5
  69. package/dist/templates/index.js.map +1 -1
  70. package/dist/ugc-interview.d.ts +122 -0
  71. package/dist/ugc-interview.js +260 -0
  72. package/dist/ugc-interview.js.map +1 -0
  73. package/dist/ugc-layers.d.ts +88 -6
  74. package/dist/ugc-layers.js +193 -5
  75. package/dist/ugc-layers.js.map +1 -1
  76. package/dist/voice-admission.d.ts +947 -2
  77. package/dist/workflows/methods/faceless-explainer.d.ts +599 -13
  78. package/dist/workflows/methods/kinetic-launch.d.ts +599 -13
  79. package/dist/workflows/methods/product-image-story.d.ts +599 -13
  80. package/dist/workflows/methods/reference-remake.d.ts +599 -13
  81. package/dist/workflows/methods/shared.d.ts +599 -13
  82. package/dist/workflows/methods/ugc-faq-answer.d.ts +599 -13
  83. package/dist/workflows/methods/ugc-product-intro.d.ts +599 -13
  84. package/dist/workflows/methods/website-proof-demo.d.ts +599 -13
  85. package/dist/workflows/reference-remake.d.ts +131 -35
  86. package/dist/workflows/reference-remake.js +179 -18
  87. package/dist/workflows/reference-remake.js.map +1 -1
  88. package/package.json +1 -1
@@ -18,6 +18,64 @@ export declare const resolvedTimelineTemplate: z.ZodObject<{
18
18
  wipe: "wipe";
19
19
  zoom: "zoom";
20
20
  }>>;
21
+ place: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
22
+ fit: z.ZodOptional<z.ZodEnum<{
23
+ contain: "contain";
24
+ cover: "cover";
25
+ }>>;
26
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
27
+ relative_to: z.ZodLiteral<"frame">;
28
+ rect: z.ZodObject<{
29
+ left: z.ZodNumber;
30
+ top: z.ZodNumber;
31
+ width: z.ZodNumber;
32
+ height: z.ZodNumber;
33
+ }, z.core.$strict>;
34
+ }, z.core.$strict>, z.ZodObject<{
35
+ fit: z.ZodOptional<z.ZodEnum<{
36
+ contain: "contain";
37
+ cover: "cover";
38
+ }>>;
39
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
40
+ relative_to: z.ZodLiteral<"face">;
41
+ rect: z.ZodObject<{
42
+ left: z.ZodNumber;
43
+ top: z.ZodNumber;
44
+ width: z.ZodNumber;
45
+ height: z.ZodNumber;
46
+ }, z.core.$strict>;
47
+ }, z.core.$strict>, z.ZodObject<{
48
+ fit: z.ZodOptional<z.ZodEnum<{
49
+ contain: "contain";
50
+ cover: "cover";
51
+ }>>;
52
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
53
+ relative_to: z.ZodUnion<readonly [z.ZodEnum<{
54
+ captions: "captions";
55
+ face: "face";
56
+ }>, z.ZodObject<{
57
+ layer: z.ZodString;
58
+ }, z.core.$strict>]>;
59
+ side: z.ZodEnum<{
60
+ above: "above";
61
+ below: "below";
62
+ left: "left";
63
+ over: "over";
64
+ right: "right";
65
+ }>;
66
+ gap: z.ZodOptional<z.ZodNumber>;
67
+ align: z.ZodOptional<z.ZodEnum<{
68
+ center: "center";
69
+ end: "end";
70
+ start: "start";
71
+ }>>;
72
+ width: z.ZodOptional<z.ZodNumber>;
73
+ height: z.ZodOptional<z.ZodNumber>;
74
+ size_unit: z.ZodOptional<z.ZodEnum<{
75
+ face: "face";
76
+ frame: "frame";
77
+ }>>;
78
+ }, z.core.$strict>]>>;
21
79
  moments: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
22
80
  sounds: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
23
81
  answer: "answer";
@@ -71,6 +129,11 @@ declare const contentSchema: z.ZodObject<{
71
129
  sha256: z.ZodString;
72
130
  bytes: z.ZodNumber;
73
131
  }, z.core.$strict>>;
132
+ gaze: z.ZodOptional<z.ZodEnum<{
133
+ camera: "camera";
134
+ left: "left";
135
+ right: "right";
136
+ }>>;
74
137
  }, z.core.$strict>, z.ZodObject<{
75
138
  position: z.ZodNumber;
76
139
  startFrame: z.ZodNumber;
@@ -130,9 +193,18 @@ declare const contentSchema: z.ZodObject<{
130
193
  enter: z.ZodEnum<{
131
194
  cut: "cut";
132
195
  fade: "fade";
196
+ pop: "pop";
197
+ scale_up: "scale_up";
133
198
  slide: "slide";
134
199
  tilt_in: "tilt_in";
135
200
  }>;
201
+ exit: z.ZodOptional<z.ZodEnum<{
202
+ cut: "cut";
203
+ fade: "fade";
204
+ pop_out: "pop_out";
205
+ slide: "slide";
206
+ }>>;
207
+ enterFrames: z.ZodOptional<z.ZodNumber>;
136
208
  key: z.ZodString;
137
209
  sha256: z.ZodString;
138
210
  bytes: z.ZodNumber;
@@ -148,14 +220,72 @@ declare const contentSchema: z.ZodObject<{
148
220
  "video/mp4": "video/mp4";
149
221
  }>;
150
222
  kind: z.ZodLiteral<"overlay">;
151
- position: z.ZodEnum<{
223
+ position: z.ZodOptional<z.ZodEnum<{
152
224
  bottom: "bottom";
153
225
  bottom_left: "bottom_left";
154
226
  bottom_right: "bottom_right";
155
227
  top: "top";
156
228
  top_left: "top_left";
157
229
  top_right: "top_right";
158
- }>;
230
+ }>>;
231
+ place: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
232
+ fit: z.ZodOptional<z.ZodEnum<{
233
+ contain: "contain";
234
+ cover: "cover";
235
+ }>>;
236
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
237
+ relative_to: z.ZodLiteral<"frame">;
238
+ rect: z.ZodObject<{
239
+ left: z.ZodNumber;
240
+ top: z.ZodNumber;
241
+ width: z.ZodNumber;
242
+ height: z.ZodNumber;
243
+ }, z.core.$strict>;
244
+ }, z.core.$strict>, z.ZodObject<{
245
+ fit: z.ZodOptional<z.ZodEnum<{
246
+ contain: "contain";
247
+ cover: "cover";
248
+ }>>;
249
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
250
+ relative_to: z.ZodLiteral<"face">;
251
+ rect: z.ZodObject<{
252
+ left: z.ZodNumber;
253
+ top: z.ZodNumber;
254
+ width: z.ZodNumber;
255
+ height: z.ZodNumber;
256
+ }, z.core.$strict>;
257
+ }, z.core.$strict>, z.ZodObject<{
258
+ fit: z.ZodOptional<z.ZodEnum<{
259
+ contain: "contain";
260
+ cover: "cover";
261
+ }>>;
262
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
263
+ relative_to: z.ZodUnion<readonly [z.ZodEnum<{
264
+ captions: "captions";
265
+ face: "face";
266
+ }>, z.ZodObject<{
267
+ layer: z.ZodString;
268
+ }, z.core.$strict>]>;
269
+ side: z.ZodEnum<{
270
+ above: "above";
271
+ below: "below";
272
+ left: "left";
273
+ over: "over";
274
+ right: "right";
275
+ }>;
276
+ gap: z.ZodOptional<z.ZodNumber>;
277
+ align: z.ZodOptional<z.ZodEnum<{
278
+ center: "center";
279
+ end: "end";
280
+ start: "start";
281
+ }>>;
282
+ width: z.ZodOptional<z.ZodNumber>;
283
+ height: z.ZodOptional<z.ZodNumber>;
284
+ size_unit: z.ZodOptional<z.ZodEnum<{
285
+ face: "face";
286
+ frame: "frame";
287
+ }>>;
288
+ }, z.core.$strict>]>>;
159
289
  }, z.core.$strict>, z.ZodObject<{
160
290
  id: z.ZodString;
161
291
  startFrame: z.ZodNumber;
@@ -163,9 +293,18 @@ declare const contentSchema: z.ZodObject<{
163
293
  enter: z.ZodEnum<{
164
294
  cut: "cut";
165
295
  fade: "fade";
296
+ pop: "pop";
297
+ scale_up: "scale_up";
166
298
  slide: "slide";
167
299
  tilt_in: "tilt_in";
168
300
  }>;
301
+ exit: z.ZodOptional<z.ZodEnum<{
302
+ cut: "cut";
303
+ fade: "fade";
304
+ pop_out: "pop_out";
305
+ slide: "slide";
306
+ }>>;
307
+ enterFrames: z.ZodOptional<z.ZodNumber>;
169
308
  key: z.ZodString;
170
309
  sha256: z.ZodString;
171
310
  bytes: z.ZodNumber;
@@ -205,6 +344,64 @@ declare const contentSchema: z.ZodObject<{
205
344
  wipe: "wipe";
206
345
  zoom: "zoom";
207
346
  }>>;
347
+ place: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
348
+ fit: z.ZodOptional<z.ZodEnum<{
349
+ contain: "contain";
350
+ cover: "cover";
351
+ }>>;
352
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
353
+ relative_to: z.ZodLiteral<"frame">;
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
+ }, z.core.$strict>, z.ZodObject<{
361
+ fit: z.ZodOptional<z.ZodEnum<{
362
+ contain: "contain";
363
+ cover: "cover";
364
+ }>>;
365
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
366
+ relative_to: z.ZodLiteral<"face">;
367
+ rect: z.ZodObject<{
368
+ left: z.ZodNumber;
369
+ top: z.ZodNumber;
370
+ width: z.ZodNumber;
371
+ height: z.ZodNumber;
372
+ }, z.core.$strict>;
373
+ }, z.core.$strict>, z.ZodObject<{
374
+ fit: z.ZodOptional<z.ZodEnum<{
375
+ contain: "contain";
376
+ cover: "cover";
377
+ }>>;
378
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
379
+ relative_to: z.ZodUnion<readonly [z.ZodEnum<{
380
+ captions: "captions";
381
+ face: "face";
382
+ }>, z.ZodObject<{
383
+ layer: z.ZodString;
384
+ }, z.core.$strict>]>;
385
+ side: z.ZodEnum<{
386
+ above: "above";
387
+ below: "below";
388
+ left: "left";
389
+ over: "over";
390
+ right: "right";
391
+ }>;
392
+ gap: z.ZodOptional<z.ZodNumber>;
393
+ align: z.ZodOptional<z.ZodEnum<{
394
+ center: "center";
395
+ end: "end";
396
+ start: "start";
397
+ }>>;
398
+ width: z.ZodOptional<z.ZodNumber>;
399
+ height: z.ZodOptional<z.ZodNumber>;
400
+ size_unit: z.ZodOptional<z.ZodEnum<{
401
+ face: "face";
402
+ frame: "frame";
403
+ }>>;
404
+ }, z.core.$strict>]>>;
208
405
  moments: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
209
406
  sounds: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
210
407
  answer: "answer";
@@ -4,7 +4,8 @@ import { RESOLVED_TIMELINE_MAX_SLOTS } from "./long-form-profile.js";
4
4
  import { CANVAS_FPS, completeFrames, secondsToFrames } from "./media-timebase.js";
5
5
  import { coverWordOf } from "./semantic-inserts.js";
6
6
  import { MAX_INSERTS } from "./skills.js";
7
- import { LAYER_ENTERS, LAYOUT_WINDOW_KINDS, MAX_LAYOUT_WINDOWS, MAX_OVERLAYS, OVERLAY_POSITIONS } from "./ugc-layers.js";
7
+ import { place } from "./scene-place.js";
8
+ import { LAYER_ENTERS, LAYER_EXITS, LAYOUT_WINDOW_KINDS, MAX_LAYOUT_WINDOWS, MAX_OVERLAYS, OVERLAY_POSITIONS } from "./ugc-layers.js";
8
9
  import { MAX_TEMPLATES, TEMPLATE_PLACEMENTS, TEMPLATE_SOUND_BEATS } from "./templates/index.js";
9
10
  import { FRAMING_SIZES, MAX_FRAMING } from "./ugc-framing.js";
10
11
  // The long-form timeline a render freezes: the run writes it, the editor reads it.
@@ -17,21 +18,27 @@ const semanticPlanSchema = z.object({ sourceTokens: z.array(z.string().min(1)).m
17
18
  startWord: frame, endWord: positive, coverWord: positive.optional() }).strict()).max(MAX_INSERTS) }).strict();
18
19
  const interval = { position: positive, startFrame: frame, endFrame: positive };
19
20
  const actorSlot = z.object({ ...interval, kind: z.literal("actor"), requestHash: digest,
20
- speechDurationSec: z.number().positive().finite(), audio: audioArtifact.optional() }).strict();
21
+ speechDurationSec: z.number().positive().finite(), audio: audioArtifact.optional(),
22
+ /** The actor's view the take is rendered from (#972); absent keeps the hash of every take frozen before it. */
23
+ gaze: z.enum(["camera", "left", "right"]).optional() }).strict();
21
24
  const mediaSlot = z.object({ ...interval, kind: z.literal("media"), key: z.string().min(1), sha256: digest,
22
25
  bytes: positive, width: positive, height: positive, durationSec: z.number().positive().finite(),
23
26
  mediaType: z.enum(["image", "video"]), contentType: z.enum(["image/png", "image/jpeg", "video/mp4"]),
24
27
  insertId: z.string().min(1).optional() }).strict();
25
- /** A freeze of the take before it while others speak (reference-elements S3): no vendor renders it, and its still is cut after the takes are. */
28
+ /** A freeze of the take before it, or of the one after it at an opening, while others speak (reference-elements S3, #972): no vendor renders it. */
26
29
  const holdSlot = z.object({ ...interval, kind: z.literal("hold"), sourcePosition: positive }).strict();
27
30
  /** The presenter listening between the take before it and the hold that freezes it (S4d, D1): a silent alpha take, billed as face seconds. */
28
31
  const liveSlot = z.object({ ...interval, kind: z.literal("live"), sourcePosition: positive, requestHash: digest }).strict();
32
+ /** `exit` and `enterFrames` (#973 S3) are absent on every layer frozen before them, which keeps their hash; the enter offset is in `startFrame`. */
29
33
  const layerMedia = { id: z.string().min(1).max(64), startFrame: frame, endFrame: positive, enter: z.enum(LAYER_ENTERS),
34
+ exit: z.enum(LAYER_EXITS).optional(), enterFrames: positive.optional(),
30
35
  key: z.string().min(1), sha256: digest, bytes: positive, width: positive, height: positive,
31
36
  mediaType: z.enum(["image", "video"]), contentType: z.enum(["image/png", "image/jpeg", "video/mp4"]) };
32
37
  /** An overlay or layout window drawn over the slots (#778 S2b); optional, so a timeline frozen without it keeps its hash. */
38
+ /** An overlay holds its preset position or its place as admitted (#973 S1): absent `place` keeps the hash of every overlay frozen before it. */
33
39
  const layerSlot = z.discriminatedUnion("kind", [
34
- z.object({ ...layerMedia, kind: z.literal("overlay"), position: z.enum(OVERLAY_POSITIONS) }).strict(),
40
+ z.object({ ...layerMedia, kind: z.literal("overlay"), position: z.enum(OVERLAY_POSITIONS).optional(), place: place.optional() }).strict()
41
+ .refine(layer => (layer.position === undefined) !== (layer.place === undefined), { path: ["position"], message: "an overlay holds a position or a place" }),
35
42
  z.object({ ...layerMedia, kind: z.literal("window"), layout: z.enum(LAYOUT_WINDOW_KINDS), blurPresenter: z.boolean() }).strict(),
36
43
  ]);
37
44
  /** A frozen template, in a long-form timeline or in a single take's record. */
@@ -42,6 +49,8 @@ export const resolvedTimelineTemplate = z.object({ id: z.string().min(1).max(64)
42
49
  data: z.record(z.string(), z.unknown()),
43
50
  /** A full frame's wipe, flash or zoom; absent is a cut. */
44
51
  transition: z.enum(["wipe", "flash", "zoom"]).optional(),
52
+ /** Its place as admitted (#973 S4); absent draws the kind's own rect and keeps the hash of every template frozen before it. */
53
+ place: place.optional(),
45
54
  /** Each beat's frame from its start, resolved from the words (#778 S3b(i)); absent when the kind has none. */
46
55
  moments: z.array(frame).min(1).max(6).optional(),
47
56
  /** The sound of each beat it plays, frozen at admission (#778 S3c); absent plays none, as every run before S3c. */
@@ -125,7 +134,10 @@ const contentSchema = z.object({ version: z.literal(1), mode: z.enum(["segments"
125
134
  }
126
135
  else if (slot.kind === "hold") {
127
136
  check(value.mode === "script_inserts", "hold_mode");
128
- check(slot.sourcePosition === slot.position - 1 && ["actor", "live"].includes(value.slots[index - 1]?.kind ?? ""), "hold_source");
137
+ // An interview's hold with no take before it freezes the first frame of the take after it (#972).
138
+ check((slot.sourcePosition === slot.position - 1 && ["actor", "live"].includes(value.slots[index - 1]?.kind ?? "")) ||
139
+ (slot.sourcePosition === slot.position + 1 && !["actor", "live"].includes(value.slots[index - 1]?.kind ?? "") &&
140
+ value.slots[index + 1]?.kind === "actor"), "hold_source");
129
141
  }
130
142
  else if (slot.kind === "live") {
131
143
  const next = value.slots[index + 1];
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-timeline.js","sourceRoot":"","sources":["../src/resolved-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE9D,mFAAmF;AAEnF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAClD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC1E,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC1E,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrG,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9F,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAClH,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,MAAM;IACrF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACjG,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM;IACxG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;IAC/F,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACpG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,iJAAiJ;AACjJ,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACvG,8IAA8I;AAC9I,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC5H,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACpH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IAC1F,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;AACzG,6HAA6H;AAC7H,MAAM,SAAS,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7C,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;IACrG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACjI,CAAC,CAAC;AACH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ;IACtI,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;IAChH,mFAAmF;IACnF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IACvC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,8GAA8G;IAC9G,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,mHAAmH;IACnH,MAAM,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5G,6FAA6F;IAC7F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;QACnJ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACpH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IAClG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM;IAC3G,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE;IACzG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;IAChI,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChD,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACnF,4HAA4H;IAC5H,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IACjF,kJAAkJ;IAClJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IAChE,2HAA2H;IAC3H,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAC3H,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IAC3F,6IAA6I;IAC7I,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzF,qIAAqI;IACrI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACxJ,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACzC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM;YACzJ,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;YAC7I,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kEAAkE,EAAE,CAAC,CAAC;QACjJ,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC;YACvI,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY;YACzG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACzH,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7I,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;YACnF,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1I,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC,CAAC;QAClI,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IACD,GAAG,CAAC,KAAK,EAAE,CAAC;IACZ,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;YAC5H,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,CAAC;YAC1E,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,MAAM,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,CAAC,EAAW,EAAE,IAAY,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC;YAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC;YAC3C,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,GAAG;gBAC3E,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC;YACpH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;gBACnF,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,KAAK,CAAC,KAAK,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACxG,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QACpI,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,WAAW,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,aAAa,CAAC,CAAC;YAC5G,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACnF,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAChE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,CAAC;gBAAC,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YACzI,MAAM,CAAC,CAAC,kEAAkE,CAAC,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,mBAAmB,CAAC,CAAC;YACvE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE,oBAAoB,CAAC,CAAC;YAC9H,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,0CAA0C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACzK,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAI,cAAc,GAAG,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC;QACrD,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,QAAQ,KAAK,CAAC,KAAK,cAAc,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM;YACpG,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG;YAC7D,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,qBAAqB,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,IAAI;YACnF,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM;YACjE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO;gBACjG,MAAM,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAU,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM;gBACjH,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;QAAE,cAAc,GAAG,KAAK,CAAC;IACnE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,YAAY,IAAI,CAAC,cAAc;QAC3D,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QACzF,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC,CAAC,CAAC;AAUH,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACvE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACrH,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpF,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC5E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAI,KAAQ;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC;IACtC,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;4GAC4G;AAC5G,MAAM,UAAU,kBAAkB,CAAC,QAAiC;IAClE,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;YACrF,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,EAAE;YACnF,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,GAAG;YACjG,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrJ,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,QAAQ,KAAK,4BAA4B,CAAC;AACxG,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"resolved-timeline.js","sourceRoot":"","sources":["../src/resolved-timeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ import { z } from "zod";
2
+ import { type CaptionEdge } from "./caption-geometry.js";
3
+ import { type LayerRect, type OverlayPosition, type PresenterFraming } from "./ugc-layers.js";
4
+ export declare const PLACE_FITS: readonly ["contain", "cover"];
5
+ export type PlaceFit = (typeof PLACE_FITS)[number];
6
+ export declare const PLACE_SIDES: readonly ["below", "above", "left", "right", "over"];
7
+ export declare const PLACE_ALIGNS: readonly ["start", "center", "end"];
8
+ /** The gap next to an anchor when none is given, as a share of the frame height. */
9
+ export declare const PLACE_DEFAULT_GAP = 0.01;
10
+ export declare const faceUnitsRect: z.ZodObject<{
11
+ left: z.ZodNumber;
12
+ top: z.ZodNumber;
13
+ width: z.ZodNumber;
14
+ height: z.ZodNumber;
15
+ }, z.core.$strict>;
16
+ export declare const placeFrame: z.ZodObject<{
17
+ fit: z.ZodOptional<z.ZodEnum<{
18
+ contain: "contain";
19
+ cover: "cover";
20
+ }>>;
21
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
22
+ relative_to: z.ZodLiteral<"frame">;
23
+ rect: z.ZodObject<{
24
+ left: z.ZodNumber;
25
+ top: z.ZodNumber;
26
+ width: z.ZodNumber;
27
+ height: z.ZodNumber;
28
+ }, z.core.$strict>;
29
+ }, z.core.$strict>;
30
+ export declare const placeFace: z.ZodObject<{
31
+ fit: z.ZodOptional<z.ZodEnum<{
32
+ contain: "contain";
33
+ cover: "cover";
34
+ }>>;
35
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
36
+ relative_to: z.ZodLiteral<"face">;
37
+ rect: z.ZodObject<{
38
+ left: z.ZodNumber;
39
+ top: z.ZodNumber;
40
+ width: z.ZodNumber;
41
+ height: z.ZodNumber;
42
+ }, z.core.$strict>;
43
+ }, z.core.$strict>;
44
+ export declare const placeNextTo: z.ZodObject<{
45
+ fit: z.ZodOptional<z.ZodEnum<{
46
+ contain: "contain";
47
+ cover: "cover";
48
+ }>>;
49
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
50
+ relative_to: z.ZodUnion<readonly [z.ZodEnum<{
51
+ captions: "captions";
52
+ face: "face";
53
+ }>, z.ZodObject<{
54
+ layer: z.ZodString;
55
+ }, z.core.$strict>]>;
56
+ side: z.ZodEnum<{
57
+ above: "above";
58
+ below: "below";
59
+ left: "left";
60
+ over: "over";
61
+ right: "right";
62
+ }>;
63
+ gap: z.ZodOptional<z.ZodNumber>;
64
+ align: z.ZodOptional<z.ZodEnum<{
65
+ center: "center";
66
+ end: "end";
67
+ start: "start";
68
+ }>>;
69
+ width: z.ZodOptional<z.ZodNumber>;
70
+ height: z.ZodOptional<z.ZodNumber>;
71
+ size_unit: z.ZodOptional<z.ZodEnum<{
72
+ face: "face";
73
+ frame: "frame";
74
+ }>>;
75
+ }, z.core.$strict>;
76
+ /** Where an overlay is drawn instead of a preset position; no rule moves it. */
77
+ export declare const place: z.ZodUnion<readonly [z.ZodObject<{
78
+ fit: z.ZodOptional<z.ZodEnum<{
79
+ contain: "contain";
80
+ cover: "cover";
81
+ }>>;
82
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
83
+ relative_to: z.ZodLiteral<"frame">;
84
+ rect: z.ZodObject<{
85
+ left: z.ZodNumber;
86
+ top: z.ZodNumber;
87
+ width: z.ZodNumber;
88
+ height: z.ZodNumber;
89
+ }, z.core.$strict>;
90
+ }, z.core.$strict>, z.ZodObject<{
91
+ fit: z.ZodOptional<z.ZodEnum<{
92
+ contain: "contain";
93
+ cover: "cover";
94
+ }>>;
95
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
96
+ relative_to: z.ZodLiteral<"face">;
97
+ rect: z.ZodObject<{
98
+ left: z.ZodNumber;
99
+ top: z.ZodNumber;
100
+ width: z.ZodNumber;
101
+ height: z.ZodNumber;
102
+ }, z.core.$strict>;
103
+ }, z.core.$strict>, z.ZodObject<{
104
+ fit: z.ZodOptional<z.ZodEnum<{
105
+ contain: "contain";
106
+ cover: "cover";
107
+ }>>;
108
+ allow_face: z.ZodOptional<z.ZodLiteral<true>>;
109
+ relative_to: z.ZodUnion<readonly [z.ZodEnum<{
110
+ captions: "captions";
111
+ face: "face";
112
+ }>, z.ZodObject<{
113
+ layer: z.ZodString;
114
+ }, z.core.$strict>]>;
115
+ side: z.ZodEnum<{
116
+ above: "above";
117
+ below: "below";
118
+ left: "left";
119
+ over: "over";
120
+ right: "right";
121
+ }>;
122
+ gap: z.ZodOptional<z.ZodNumber>;
123
+ align: z.ZodOptional<z.ZodEnum<{
124
+ center: "center";
125
+ end: "end";
126
+ start: "start";
127
+ }>>;
128
+ width: z.ZodOptional<z.ZodNumber>;
129
+ height: z.ZodOptional<z.ZodNumber>;
130
+ size_unit: z.ZodOptional<z.ZodEnum<{
131
+ face: "face";
132
+ frame: "frame";
133
+ }>>;
134
+ }, z.core.$strict>]>;
135
+ export type Place = z.infer<typeof place>;
136
+ export type PlaceNextTo = z.infer<typeof placeNextTo>;
137
+ export interface PlaceContext {
138
+ canvas: {
139
+ width: number;
140
+ height: number;
141
+ };
142
+ /** The presenter's face box on the frame. */
143
+ face: LayerRect;
144
+ /** Boxes of the layers a place may name, by id. */
145
+ layers?: ReadonlyMap<string, LayerRect> | undefined;
146
+ /** The caption block a place next to the captions stands by; the composition moves it to the page it draws. */
147
+ captions?: LayerRect | undefined;
148
+ /** The picture's pixels; a box given one side takes the picture's shape, a square without it. */
149
+ media?: {
150
+ width: number;
151
+ height: number;
152
+ } | undefined;
153
+ }
154
+ /** The layer a place is next to, or undefined. */
155
+ export declare const placeAnchorOf: (item: Place) => string | undefined;
156
+ /** Whether a place reads the presenter's face. */
157
+ export declare const placeReadsFace: (item: Place) => boolean;
158
+ /** Whether a place stands next to the captions, so it follows the page drawn and never moves them. */
159
+ export declare const placeByCaptions: (item: Place | undefined) => item is PlaceNextTo & {
160
+ relative_to: "captions";
161
+ };
162
+ /** The box a place resolves to, in shares of the frame; it may reach past the frame, which the rails judge. */
163
+ export declare function resolvePlace(item: Place, ctx: PlaceContext): LayerRect;
164
+ /** The rect a picture takes in its box: the whole box for cover, else the picture's shape fitted and centred. */
165
+ export declare function fitPlacedRect(box: LayerRect, media: {
166
+ width: number;
167
+ height: number;
168
+ }, canvas: {
169
+ width: number;
170
+ height: number;
171
+ }, fit?: PlaceFit): LayerRect;
172
+ /** A preset position as a place: it resolves to the footprint the preset reserves, `overlayRect`. */
173
+ export declare function presetPlace(position: OverlayPosition, canvas: {
174
+ width: number;
175
+ height: number;
176
+ }): z.infer<typeof placeFrame>;
177
+ /** The presenter's usual face box, before the take shows it: two thirds of the face zone's height, centred in it, 3:4 in pixels. */
178
+ export declare function usualFace(aspectRatio: string, canvas: {
179
+ width: number;
180
+ height: number;
181
+ }, framing?: PresenterFraming): LayerRect;
182
+ /** Captions at a height of their own (#973 S2): pinned, so no overlay moves them. */
183
+ export declare const captionPlace: z.ZodObject<{
184
+ relative_to: z.ZodEnum<{
185
+ face: "face";
186
+ frame: "frame";
187
+ }>;
188
+ y: z.ZodNumber;
189
+ edge: z.ZodOptional<z.ZodEnum<{
190
+ bottom: "bottom";
191
+ center: "center";
192
+ top: "top";
193
+ }>>;
194
+ max_width: z.ZodOptional<z.ZodNumber>;
195
+ }, z.core.$strict>;
196
+ export type CaptionPlace = z.infer<typeof captionPlace>;
197
+ /** The presenter's face size and place in the frame (#973 S2b). */
198
+ export declare const presenterPlace: z.ZodObject<{
199
+ face_height: z.ZodNumber;
200
+ face_centre: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
201
+ }, z.core.$strict>;
202
+ export type PresenterPlace = z.infer<typeof presenterPlace>;
203
+ /** A close view's face height, measured on a delivered 9:16 close take (#973 S0, job-01 v1: 0.273–0.277); a smaller face starts from the wide view. */
204
+ export declare const CLOSE_VIEW_FACE_HEIGHT = 0.275;
205
+ /** Whether presenter_place starts from the actor's wide view: the crop only frames tighter, so a face smaller than the close view's needs it. */
206
+ export declare const presenterPlaceWantsWide: (item: {
207
+ face_height: number;
208
+ } | undefined) => boolean;
209
+ /** The face a presenter_place asks for, 3:4 in pixels as the usual face. */
210
+ export declare function presenterPlaceFace(item: PresenterPlace, canvas: {
211
+ width: number;
212
+ height: number;
213
+ }): LayerRect;
214
+ /** The face admission plans by: the one presenter_place asks for, else the usual one of the framing. */
215
+ export declare const plannedFace: (aspectRatio: string, canvas: {
216
+ width: number;
217
+ height: number;
218
+ }, framing: PresenterFraming, item?: PresenterPlace | undefined) => LayerRect;
219
+ /** A caption place's height in percent of the frame and the edge it anchors by, on the face given. */
220
+ export declare function captionPlaceAt(item: CaptionPlace, face: LayerRect): {
221
+ vertical: number;
222
+ edge: CaptionEdge;
223
+ };
224
+ /** The area two rects share, in squared shares of the frame. */
225
+ export declare const sharedArea: (a: LayerRect, b: LayerRect) => number;