@clipwright/core 0.39.0 → 0.41.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 (267) hide show
  1. package/dist/account-actors.d.ts +94 -2
  2. package/dist/account-actors.js +151 -34
  3. package/dist/account-actors.js.map +1 -1
  4. package/dist/actor-bounds.d.ts +3 -3
  5. package/dist/actor-bounds.js +3 -3
  6. package/dist/actor-bounds.js.map +1 -1
  7. package/dist/actors.d.ts +24 -2
  8. package/dist/actors.js +30 -9
  9. package/dist/actors.js.map +1 -1
  10. package/dist/ad-pause-trim.d.ts +21 -0
  11. package/dist/ad-pause-trim.js +16 -0
  12. package/dist/ad-pause-trim.js.map +1 -0
  13. package/dist/aspect.d.ts +5 -0
  14. package/dist/aspect.js +7 -0
  15. package/dist/aspect.js.map +1 -1
  16. package/dist/assets.d.ts +2 -1
  17. package/dist/assets.js +10 -11
  18. package/dist/assets.js.map +1 -1
  19. package/dist/billing-terms.d.ts +8 -0
  20. package/dist/broll-policy.js +2 -3
  21. package/dist/broll-policy.js.map +1 -1
  22. package/dist/caption-geometry.js +10 -8
  23. package/dist/caption-geometry.js.map +1 -1
  24. package/dist/contract-dispositions.d.ts +1575 -100
  25. package/dist/contract-dispositions.js +100 -14
  26. package/dist/contract-dispositions.js.map +1 -1
  27. package/dist/contracts/v1/workflow-brief.d.ts +10764 -2790
  28. package/dist/contracts/v1/workflow-brief.js +19 -1
  29. package/dist/contracts/v1/workflow-brief.js.map +1 -1
  30. package/dist/contracts/v1/workflow-catalog.d.ts +11612 -3536
  31. package/dist/contracts/v1/workflow-client.d.ts +5429 -1187
  32. package/dist/contracts/v1/workflow-client.js +9 -5
  33. package/dist/contracts/v1/workflow-client.js.map +1 -1
  34. package/dist/contracts/v1/workflow-execution.d.ts +242 -0
  35. package/dist/contracts/v1/workflow-execution.js +2 -2
  36. package/dist/contracts/v1/workflow-execution.js.map +1 -1
  37. package/dist/contracts/v1/workflow-next.d.ts +225 -0
  38. package/dist/contracts/v1/workflow-next.js +21 -0
  39. package/dist/contracts/v1/workflow-next.js.map +1 -0
  40. package/dist/contracts/v1/workflow-plan.d.ts +18556 -6429
  41. package/dist/contracts/v1/workflow-plan.js +2 -1
  42. package/dist/contracts/v1/workflow-plan.js.map +1 -1
  43. package/dist/contracts/v1/workflow-primitives.d.ts +20 -1
  44. package/dist/contracts/v1/workflow-primitives.js +8 -2
  45. package/dist/contracts/v1/workflow-primitives.js.map +1 -1
  46. package/dist/contracts/v1/workflow-run-read.d.ts +50 -0
  47. package/dist/creator-profile.d.ts +1 -0
  48. package/dist/creator-profile.js +13 -7
  49. package/dist/creator-profile.js.map +1 -1
  50. package/dist/design.d.ts +921 -0
  51. package/dist/design.js +183 -0
  52. package/dist/design.js.map +1 -0
  53. package/dist/edit-candidate.d.ts +2 -0
  54. package/dist/edit-candidate.js +3 -0
  55. package/dist/edit-candidate.js.map +1 -1
  56. package/dist/edit-faceless.js +2 -1
  57. package/dist/edit-faceless.js.map +1 -1
  58. package/dist/endpoint-notes.js +19 -0
  59. package/dist/endpoint-notes.js.map +1 -1
  60. package/dist/endpoints.js +21 -4
  61. package/dist/endpoints.js.map +1 -1
  62. package/dist/errors.d.ts +1 -1
  63. package/dist/errors.js +7 -0
  64. package/dist/errors.js.map +1 -1
  65. package/dist/face-billing.d.ts +39 -0
  66. package/dist/face-billing.js +11 -1
  67. package/dist/face-billing.js.map +1 -1
  68. package/dist/faceless-action-shots.d.ts +31 -0
  69. package/dist/faceless-action-shots.js +51 -0
  70. package/dist/faceless-action-shots.js.map +1 -0
  71. package/dist/faceless-media-record.d.ts +56 -0
  72. package/dist/faceless-media-record.js +6 -2
  73. package/dist/faceless-media-record.js.map +1 -1
  74. package/dist/faceless-price.d.ts +22 -0
  75. package/dist/faceless-price.js +27 -3
  76. package/dist/faceless-price.js.map +1 -1
  77. package/dist/faceless-public-plan.d.ts +10 -1
  78. package/dist/faceless-public-plan.js +4 -0
  79. package/dist/faceless-public-plan.js.map +1 -1
  80. package/dist/faceless-public.d.ts +5583 -184
  81. package/dist/faceless-public.js +114 -16
  82. package/dist/faceless-public.js.map +1 -1
  83. package/dist/feedback.js +1 -1
  84. package/dist/feedback.js.map +1 -1
  85. package/dist/generations-output.js +1 -1
  86. package/dist/generations-output.js.map +1 -1
  87. package/dist/generations.d.ts +1 -1
  88. package/dist/generations.js +2 -2
  89. package/dist/index.d.ts +10 -0
  90. package/dist/index.js +11 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/live-shot-kinds.d.ts +22 -0
  93. package/dist/live-shot-kinds.js +17 -0
  94. package/dist/live-shot-kinds.js.map +1 -0
  95. package/dist/long-form-profile.d.ts +1 -1
  96. package/dist/long-form-profile.js +1 -1
  97. package/dist/mcp-ugc-descriptions.d.ts +32 -0
  98. package/dist/mcp-ugc-descriptions.js +112 -0
  99. package/dist/mcp-ugc-descriptions.js.map +1 -0
  100. package/dist/motion-styles.d.ts +54 -0
  101. package/dist/motion-styles.js +67 -0
  102. package/dist/motion-styles.js.map +1 -0
  103. package/dist/moves.d.ts +222 -0
  104. package/dist/moves.js +81 -0
  105. package/dist/moves.js.map +1 -0
  106. package/dist/music.d.ts +18 -0
  107. package/dist/music.js +29 -0
  108. package/dist/music.js.map +1 -0
  109. package/dist/openapi.d.ts +3 -1
  110. package/dist/openapi.js +32 -5
  111. package/dist/openapi.js.map +1 -1
  112. package/dist/parts-pricing.d.ts +14 -3
  113. package/dist/parts-pricing.js +23 -5
  114. package/dist/parts-pricing.js.map +1 -1
  115. package/dist/prices.d.ts +6 -1
  116. package/dist/prices.js +56 -17
  117. package/dist/prices.js.map +1 -1
  118. package/dist/reference-analysis.d.ts +134 -0
  119. package/dist/reference-analysis.js +45 -33
  120. package/dist/reference-analysis.js.map +1 -1
  121. package/dist/reference-display.js +3 -0
  122. package/dist/reference-display.js.map +1 -1
  123. package/dist/reference-kinds.d.ts +3 -2
  124. package/dist/reference-kinds.js +2 -1
  125. package/dist/reference-kinds.js.map +1 -1
  126. package/dist/reference-profile.d.ts +437 -0
  127. package/dist/reference-profile.js +46 -5
  128. package/dist/reference-profile.js.map +1 -1
  129. package/dist/reference-staging.d.ts +54 -2
  130. package/dist/reference-staging.js +28 -5
  131. package/dist/reference-staging.js.map +1 -1
  132. package/dist/reference-text-spans.d.ts +26 -0
  133. package/dist/reference-text-spans.js +76 -0
  134. package/dist/reference-text-spans.js.map +1 -0
  135. package/dist/resolved-timeline.d.ts +173 -0
  136. package/dist/resolved-timeline.js +16 -5
  137. package/dist/resolved-timeline.js.map +1 -1
  138. package/dist/run-media.d.ts +5 -0
  139. package/dist/run-media.js +17 -0
  140. package/dist/run-media.js.map +1 -0
  141. package/dist/run-static-warnings.js +12 -3
  142. package/dist/run-static-warnings.js.map +1 -1
  143. package/dist/runs.d.ts +49 -0
  144. package/dist/runs.js +5 -0
  145. package/dist/runs.js.map +1 -1
  146. package/dist/scene-graph.d.ts +547 -0
  147. package/dist/scene-graph.js +296 -0
  148. package/dist/scene-graph.js.map +1 -0
  149. package/dist/scene-place.d.ts +2 -0
  150. package/dist/scene-place.js +6 -0
  151. package/dist/scene-place.js.map +1 -1
  152. package/dist/semantic-inserts.d.ts +2 -1
  153. package/dist/semantic-inserts.js +4 -4
  154. package/dist/semantic-inserts.js.map +1 -1
  155. package/dist/skills.d.ts +11743 -5428
  156. package/dist/skills.js +248 -59
  157. package/dist/skills.js.map +1 -1
  158. package/dist/templates/chart.d.ts +35 -0
  159. package/dist/templates/chart.js +38 -0
  160. package/dist/templates/chart.js.map +1 -0
  161. package/dist/templates/chat-window.d.ts +58 -0
  162. package/dist/templates/chat-window.js +57 -0
  163. package/dist/templates/chat-window.js.map +1 -0
  164. package/dist/templates/compare.d.ts +10 -2
  165. package/dist/templates/compare.js +13 -9
  166. package/dist/templates/compare.js.map +1 -1
  167. package/dist/templates/hand-title.d.ts +32 -0
  168. package/dist/templates/hand-title.js +47 -0
  169. package/dist/templates/hand-title.js.map +1 -0
  170. package/dist/templates/index.d.ts +33 -7
  171. package/dist/templates/index.js +95 -51
  172. package/dist/templates/index.js.map +1 -1
  173. package/dist/templates/lower-third.d.ts +11 -0
  174. package/dist/templates/lower-third.js +8 -3
  175. package/dist/templates/lower-third.js.map +1 -1
  176. package/dist/templates/notification.d.ts +24 -2
  177. package/dist/templates/notification.js +21 -12
  178. package/dist/templates/notification.js.map +1 -1
  179. package/dist/templates/phone-screen.d.ts +37 -0
  180. package/dist/templates/phone-screen.js +41 -0
  181. package/dist/templates/phone-screen.js.map +1 -0
  182. package/dist/templates/pointer-chips.d.ts +40 -0
  183. package/dist/templates/pointer-chips.js +53 -0
  184. package/dist/templates/pointer-chips.js.map +1 -0
  185. package/dist/templates/quote.d.ts +2 -2
  186. package/dist/templates/quote.js +5 -5
  187. package/dist/templates/quote.js.map +1 -1
  188. package/dist/templates/race.d.ts +32 -0
  189. package/dist/templates/race.js +43 -0
  190. package/dist/templates/race.js.map +1 -0
  191. package/dist/templates/size.d.ts +20 -0
  192. package/dist/templates/size.js +14 -0
  193. package/dist/templates/size.js.map +1 -1
  194. package/dist/templates/slot.js +1 -1
  195. package/dist/templates/slot.js.map +1 -1
  196. package/dist/templates/sounds.d.ts +221 -4
  197. package/dist/templates/sounds.js +40 -10
  198. package/dist/templates/sounds.js.map +1 -1
  199. package/dist/templates/terminal.d.ts +46 -0
  200. package/dist/templates/terminal.js +46 -0
  201. package/dist/templates/terminal.js.map +1 -0
  202. package/dist/templates/video-grid.d.ts +52 -0
  203. package/dist/templates/video-grid.js +50 -0
  204. package/dist/templates/video-grid.js.map +1 -0
  205. package/dist/templates/word-fill.d.ts +22 -0
  206. package/dist/templates/word-fill.js +29 -0
  207. package/dist/templates/word-fill.js.map +1 -0
  208. package/dist/templates/word-title.d.ts +24 -0
  209. package/dist/templates/word-title.js +33 -0
  210. package/dist/templates/word-title.js.map +1 -0
  211. package/dist/trend-search.d.ts +336 -0
  212. package/dist/trend-search.js +307 -0
  213. package/dist/trend-search.js.map +1 -0
  214. package/dist/ugc-call.d.ts +4 -4
  215. package/dist/ugc-call.js +4 -4
  216. package/dist/ugc-call.js.map +1 -1
  217. package/dist/ugc-framing.d.ts +3 -2
  218. package/dist/ugc-framing.js +4 -3
  219. package/dist/ugc-framing.js.map +1 -1
  220. package/dist/ugc-interview.d.ts +3 -3
  221. package/dist/ugc-interview.js +3 -3
  222. package/dist/ugc-interview.js.map +1 -1
  223. package/dist/ugc-layers.d.ts +43 -7
  224. package/dist/ugc-layers.js +43 -11
  225. package/dist/ugc-layers.js.map +1 -1
  226. package/dist/ugc-scenes.d.ts +40 -0
  227. package/dist/ugc-scenes.js +35 -0
  228. package/dist/ugc-scenes.js.map +1 -0
  229. package/dist/uploads.d.ts +1 -1
  230. package/dist/uploads.js +9 -9
  231. package/dist/uploads.js.map +1 -1
  232. package/dist/voice-admission.d.ts +4767 -836
  233. package/dist/voice-catalog-data.d.ts +1 -0
  234. package/dist/voice-catalog.d.ts +2 -0
  235. package/dist/voice-catalog.generated.json +286 -0
  236. package/dist/voice-catalog.js +1 -0
  237. package/dist/voice-catalog.js.map +1 -1
  238. package/dist/voice-pace.generated.json +65 -0
  239. package/dist/voices.d.ts +1 -0
  240. package/dist/voices.js +2 -1
  241. package/dist/voices.js.map +1 -1
  242. package/dist/workflows/index.d.ts +2 -0
  243. package/dist/workflows/index.js +1 -0
  244. package/dist/workflows/index.js.map +1 -1
  245. package/dist/workflows/methods/faceless-explainer.d.ts +2275 -188
  246. package/dist/workflows/methods/kinetic-launch.d.ts +2275 -188
  247. package/dist/workflows/methods/product-image-story.d.ts +2275 -188
  248. package/dist/workflows/methods/reference-remake.d.ts +2275 -188
  249. package/dist/workflows/methods/shared.d.ts +2275 -188
  250. package/dist/workflows/methods/ugc-faq-answer.d.ts +2275 -188
  251. package/dist/workflows/methods/ugc-product-intro.d.ts +2275 -188
  252. package/dist/workflows/methods/website-proof-demo.d.ts +2275 -188
  253. package/dist/workflows/motion-director.d.ts +59 -0
  254. package/dist/workflows/motion-director.js +118 -0
  255. package/dist/workflows/motion-director.js.map +1 -0
  256. package/dist/workflows/reference-remake.d.ts +1172 -2
  257. package/dist/workflows/reference-remake.js +940 -115
  258. package/dist/workflows/reference-remake.js.map +1 -1
  259. package/dist/workflows/remake-chooser.d.ts +16 -0
  260. package/dist/workflows/remake-chooser.js +10 -0
  261. package/dist/workflows/remake-chooser.js.map +1 -0
  262. package/dist/workflows/remake-motion.d.ts +100 -0
  263. package/dist/workflows/remake-motion.js +237 -0
  264. package/dist/workflows/remake-motion.js.map +1 -0
  265. package/dist/workflows/validate.js +1 -1
  266. package/dist/workflows/validate.js.map +1 -1
  267. package/package.json +5 -1
@@ -0,0 +1,47 @@
1
+ import { z } from "zod";
2
+ import { frameCanvasOf } from "../ugc-layers.js";
3
+ import { centredArea, fullWidth, sizedScale, templateSize } from "./size.js";
4
+ /** The title's handwriting at medium on a 1080 short side; on a full frame it draws this much larger. */
5
+ export const HAND_TITLE_FONT_PX = 110;
6
+ const FULL_SCALE = 1.3;
7
+ /** Text sizes: two lines of the title with the marker's room around them; the width is the full frame's. */
8
+ export const HAND_TITLE_EMS = { height: 2.9 };
9
+ /** The marker's strokes: a broad swipe behind the words, a wavy line under them, or a loop around them. */
10
+ export const HAND_MARKS = ["highlight", "underline", "circle"];
11
+ /** The marked words by position, so they are always words the title holds: the first's index from 0 and how many (absent: one). */
12
+ const mark = z.object({ word: z.number().int().min(0).max(9), words: z.number().int().min(1).max(4).optional(), style: z.enum(HAND_MARKS),
13
+ at: z.string().min(1).max(200).optional() }).strict();
14
+ const data = z.object({ text: z.string().min(1).max(40), mark: mark.optional(), size: templateSize }).strict().superRefine((value, context) => {
15
+ const count = value.text.split(" ").filter(Boolean).length;
16
+ if (value.mark && value.mark.word + (value.mark.words ?? 1) > count) {
17
+ context.addIssue({ code: z.ZodIssueCode.custom, path: ["mark", "word"], message: `the marked words run past the title's ${count} words` });
18
+ }
19
+ });
20
+ /** A title written out letter by letter in a hand-drawn face, then a marker stroke drawn on chosen words on their beat (#1120). Over the presenter
21
+ * it sits in the caption spot and hides captions. */
22
+ export const handTitle = {
23
+ kind: "hand_title",
24
+ kindVersion: 1,
25
+ description: "a title written out stroke by stroke in a handwriting face (up to two lines), then a marker drawn on the title's words from " +
26
+ "mark.word (index from 0) for mark.words (absent 1), on mark.at or late in the template; over sits in the caption spot and hides captions",
27
+ placements: ["full", "over"],
28
+ data,
29
+ text: { text: 40 },
30
+ quotes: ["mark.at"],
31
+ // The title writes for at least the first 12 frames.
32
+ beatsFrom: 14,
33
+ slots: {},
34
+ hidesCaptions: () => true,
35
+ onInserts: false,
36
+ rect: (value, aspectRatio, placement) => {
37
+ const canvas = frameCanvasOf(aspectRatio), { width: w, height: h } = canvas;
38
+ const em = HAND_TITLE_FONT_PX * sizedScale(value.size, canvas) * (placement === "full" ? FULL_SCALE : 1), height = HAND_TITLE_EMS.height * em;
39
+ if (placement === "full")
40
+ return centredArea(canvas, fullWidth(value.size, canvas), Math.min(0.92 * h, height));
41
+ const width = Math.round(fullWidth(value.size, canvas)), tall = Math.round(Math.min(0.3 * h, height));
42
+ // Over the presenter it sits in the caption spot, low enough to keep off a wide presenter's face at every size.
43
+ return { left: Math.round((w - width) / 2) / w, top: Math.round(0.7 * h - tall / 2) / h, width: width / w, height: tall / h };
44
+ },
45
+ sample: { text: "Posted daily for 30 days", mark: { word: 3, words: 2, style: "underline", at: "results" } },
46
+ };
47
+ //# sourceMappingURL=hand-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hand-title.js","sourceRoot":"","sources":["../../src/templates/hand-title.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { TemplateSlot } from "./slot.js";
5
5
  import { type TemplatePreset } from "./theme.js";
6
6
  export declare const TEMPLATE_PLACEMENTS: readonly ["over", "full"];
7
7
  export type TemplatePlacement = (typeof TEMPLATE_PLACEMENTS)[number];
8
- export declare const MAX_TEMPLATES = 12;
8
+ export declare const MAX_TEMPLATES = 40;
9
9
  export { contrastRatio, DEFAULT_TEMPLATE_PRESET, TEMPLATE_MIN_CONTRAST, TEMPLATE_PRESET_SURFACES, TEMPLATE_PRESETS, templateAccentRefusal, templateTheme, type TemplatePreset, type TemplateTheme } from "./theme.js";
10
10
  /** One kind: a strict data schema with no defaults or transforms; `kindVersion` moves only when that shape changes (A8). */
11
11
  export interface TemplateKind<D extends z.ZodObject = z.ZodObject> {
@@ -23,6 +23,10 @@ export interface TemplateKind<D extends z.ZodObject = z.ZodObject> {
23
23
  spreads?: string;
24
24
  /** The first frame a beat may land on: the kind has entered and, for a checklist, its cursor has reached the rows; absent is the frame after the enter. */
25
25
  beatsFrom?: number;
26
+ /** Its first beat plays on its first frame whatever its quote: the first beat draws its first element, and a full frame is never bare (#1129). */
27
+ firstBeatAtStart?: true;
28
+ /** It fills the frame at medium, so large draws as medium, and says so (#1128). */
29
+ fillsFrame?: true;
26
30
  /** Media fields, each `{ asset_id }`, and what each takes; they pin as `<id>.<slot>` (A1). */
27
31
  slots: Readonly<Record<string, TemplateSlot>>;
28
32
  /** Whether captions are hidden while it shows: it sits in the caption spot. */
@@ -39,14 +43,14 @@ export interface TemplateKind<D extends z.ZodObject = z.ZodObject> {
39
43
  sample: z.infer<D>;
40
44
  }
41
45
  export declare const TEMPLATE_KINDS: readonly TemplateKind[];
42
- export declare const TEMPLATE_KIND_IDS: readonly ["tag", "lower_third", "end_card", "title_card", "quote", "stat", "callout", "checklist", "phone_call", "compare", "notification", "progress", "rating"];
43
- /** Earlier versions of kinds a frozen timeline may still name, each with its own footprint (A8, #819). The phone's version 2 (#857 S5) only adds
44
- * optional fields, so version 1 keeps its geometry. */
46
+ export declare const TEMPLATE_KIND_IDS: readonly ["tag", "lower_third", "end_card", "title_card", "quote", "stat", "callout", "checklist", "phone_call", "compare", "notification", "progress", "rating", "chat_window", "video_grid", "word_title", "phone_screen", "terminal", "pointer_chips", "chart", "race", "hand_title", "word_fill"];
47
+ /** Earlier versions of kinds a frozen timeline may still name, each with its own footprint (A8, #819). The phone's version 2 (#857 S5) and the
48
+ * five kinds' version 2 (#1119) only add optional fields, so version 1 keeps its geometry. */
45
49
  export declare const TEMPLATE_KIND_HISTORY: readonly TemplateKind[];
46
50
  /** A kind as it was at `version`: the current entry or one from its history; a version neither holds has no footprint to draw. */
47
51
  export declare function templateKindAt(kind: string, version: number | undefined, kinds?: readonly TemplateKind[], history?: readonly TemplateKind[]): TemplateKind;
48
52
  export { TEMPLATE_SIZES } from "./size.js";
49
- export { DEFAULT_TEMPLATE_SOUNDS, editSoundRefusals, editSounds, listTemplateSounds, mcpTemplateSounds, TEMPLATE_KIND_SOUNDS, TEMPLATE_SOUND_BEATS, TEMPLATE_SOUNDS, TEMPLATE_SOUNDS_PATH, templateSoundBeats, templateSoundMap, templateSounds, templateSoundsList, type TemplateSoundBeat, type TemplateSoundMap, type TemplateSounds, type TemplateSoundsList } from "./sounds.js";
53
+ export { DEFAULT_TEMPLATE_SOUNDS, editSoundRefusals, editSounds, FACELESS_LOOK_SOUND, FACELESS_SOUND_BEATS, facelessSoundMap, facelessSoundRefusals, facelessTemplateSounds, type FacelessSoundMap, type FacelessTemplateSounds, listTemplateSounds, mcpTemplateSounds, TEMPLATE_KIND_SOUNDS, TEMPLATE_SOUND_BEATS, TEMPLATE_SOUNDS, TEMPLATE_SOUNDS_PATH, templateSoundBeats, templateSoundMap, templateSounds, templateSoundsList, type TemplateSoundBeat, type TemplateSoundMap, type TemplateSounds, type TemplateSoundsList } from "./sounds.js";
50
54
  export { TAG_RECT_EMS } from "./tag.js";
51
55
  export { END_CARD_RECT_EMS } from "./end-card.js";
52
56
  export { TITLE_CARD_RECT_EMS } from "./title-card.js";
@@ -54,10 +58,21 @@ export { QUOTE_RECT_EMS } from "./quote.js";
54
58
  export { STAT_RECT_EMS } from "./stat.js";
55
59
  export { CALLOUT_LABEL_EMS, calloutParts } from "./callout.js";
56
60
  export { CHECKLIST_EMS } from "./checklist.js";
57
- export { COMPARE_CARD_SHAPE } from "./compare.js";
58
- export { NOTIFICATION_EMS } from "./notification.js";
61
+ export { COMPARE_CARD_SHAPE, COMPARE_REVEALS } from "./compare.js";
62
+ export { LOWER_THIRD_STYLES } from "./lower-third.js";
63
+ export { NOTIFICATION_EMS, notificationEms } from "./notification.js";
59
64
  export { PROGRESS_EMS } from "./progress.js";
60
65
  export { RATING_EMS } from "./rating.js";
66
+ export { CHAT_WINDOW_EMS, CHAT_WINDOW_ZOOM, chatWindowEms } from "./chat-window.js";
67
+ export { VIDEO_GRID_EMS, VIDEO_GRID_LAYOUTS, videoGridLayout, videoGridShape } from "./video-grid.js";
68
+ export { WORD_TITLE_RECT_EMS, WORD_TITLE_REVEALS } from "./word-title.js";
69
+ export { PHONE_SCREEN_EMS, PHONE_SCREEN_STATES } from "./phone-screen.js";
70
+ export { TERMINAL_CHANGES, TERMINAL_EMS, terminalEms } from "./terminal.js";
71
+ export { POINTER_CHIPS_EMS, pointerChipsParts } from "./pointer-chips.js";
72
+ export { CHART_EMS, CHART_TYPES, chartEms } from "./chart.js";
73
+ export { RACE_EMS, raceEms } from "./race.js";
74
+ export { HAND_MARKS, HAND_TITLE_EMS } from "./hand-title.js";
75
+ export { WORD_FILL_EMS } from "./word-fill.js";
61
76
  export { templateMedia, type TemplateSlot } from "./slot.js";
62
77
  /** Every value at a dotted path of a kind's data, one per element where the path crosses or ends in a list, with its own path; an absent last
63
78
  * field is listed, a path through an absent object or list lists nothing. */
@@ -144,12 +159,20 @@ export declare function templateFootprint(item: {
144
159
  content?: LayerRect;
145
160
  parts?: Record<string, LayerRect>;
146
161
  };
162
+ /** Templates asked at size large whose kind already fills the frame at medium: drawn at medium, and named (rule 3, #1128). */
163
+ export declare function templateSizeWarnings(input: {
164
+ templates?: unknown;
165
+ }): string[];
166
+ /** Whether a template takes the whole frame: its entry and exit are cuts edit_sounds sounds. */
167
+ export declare function hasFullFrameTemplate(templates: unknown): boolean;
147
168
  /** Over-presenter templates whose footprint meets the face: drawn as asked, and named (rule 3); every kind's default stays off it. */
148
169
  export declare function templateFaceWarnings(input: {
149
170
  templates?: unknown;
150
171
  aspect_ratio?: unknown;
151
172
  presenter_framing?: unknown;
152
173
  }): string[];
174
+ /** A kind's data fields as its catalog line names them: types, text limits, media slots and inner quotes. */
175
+ export declare function templateDataText(kind: TemplateKind): string;
153
176
  /** The `templates` description: the gate, the text rules and one catalog line per kind, all from the registry. */
154
177
  export declare function templateCatalogText(kinds?: readonly TemplateKind[]): string;
155
178
  export interface TemplateCheckInput {
@@ -170,6 +193,9 @@ export interface TemplateCheckInput {
170
193
  } | undefined;
171
194
  template_sounds?: unknown;
172
195
  edit_sounds?: boolean | undefined;
196
+ shots?: readonly {
197
+ transition?: string | undefined;
198
+ }[] | undefined;
173
199
  call?: unknown;
174
200
  captions?: boolean | undefined;
175
201
  caption_style?: string | undefined;
@@ -1,33 +1,45 @@
1
1
  import { z } from "zod";
2
2
  import { captionLanguageOf } from "../caption-language.js";
3
3
  import { lexicalTokens, quoteOccurrences } from "../semantic-inserts.js";
4
- import { admissionScene, faceZone, frameCanvasOf, layerWordRange, MAX_OVERLAYS_AT_ONCE, overlayFootprints, placedRefusals, rectsOverlap } from "../ugc-layers.js";
4
+ import { admissionFramings, admissionScene, faceZone, frameCanvasOf, layerWordRange, MAX_OVERLAYS_AT_ONCE, overlayCrowd, overlayFootprints, placedRefusals, rectsOverlap } from "../ugc-layers.js";
5
5
  import { placeAnchorOf, placeByCaptions } from "../scene-place.js";
6
6
  import { callout } from "./callout.js";
7
+ import { chatWindow, chatWindowV1 } from "./chat-window.js";
7
8
  import { checklist } from "./checklist.js";
8
- import { compare } from "./compare.js";
9
+ import { compare, compareV1 } from "./compare.js";
9
10
  import { endCard } from "./end-card.js";
10
- import { lowerThird } from "./lower-third.js";
11
- import { notification } from "./notification.js";
11
+ import { lowerThird, lowerThirdV1 } from "./lower-third.js";
12
+ import { notification, notificationV1 } from "./notification.js";
12
13
  import { phoneCall } from "./phone-call.js";
14
+ import { phoneScreen } from "./phone-screen.js";
15
+ import { pointerChips } from "./pointer-chips.js";
16
+ import { chart } from "./chart.js";
17
+ import { handTitle } from "./hand-title.js";
18
+ import { race } from "./race.js";
13
19
  import { progress } from "./progress.js";
14
20
  import { quote } from "./quote.js";
15
21
  import { rating } from "./rating.js";
16
22
  import { stat } from "./stat.js";
17
23
  import { tag } from "./tag.js";
24
+ import { terminal, terminalV1 } from "./terminal.js";
18
25
  import { DEFAULT_TEMPLATE_PRESET, templateAccentRefusal } from "./theme.js";
19
26
  import { titleCard } from "./title-card.js";
27
+ import { videoGrid } from "./video-grid.js";
28
+ import { wordFill } from "./word-fill.js";
29
+ import { wordTitle } from "./word-title.js";
20
30
  // The graphic template catalog of any `make_ugc` script run (#778 S3, #840): one entry per kind, from which both schemas and every refusal come.
21
31
  export const TEMPLATE_PLACEMENTS = ["over", "full"];
22
- export const MAX_TEMPLATES = 12;
32
+ export const MAX_TEMPLATES = 40;
23
33
  export { contrastRatio, DEFAULT_TEMPLATE_PRESET, TEMPLATE_MIN_CONTRAST, TEMPLATE_PRESET_SURFACES, TEMPLATE_PRESETS, templateAccentRefusal, templateTheme } from "./theme.js";
24
34
  export const TEMPLATE_KINDS = [tag, lowerThird, endCard, titleCard, quote, stat, callout, checklist, phoneCall, compare,
25
- notification, progress, rating];
35
+ notification, progress, rating, chatWindow, videoGrid, wordTitle, phoneScreen, terminal, pointerChips, chart, race, handTitle, wordFill];
26
36
  export const TEMPLATE_KIND_IDS = ["tag", "lower_third", "end_card", "title_card", "quote", "stat", "callout", "checklist", "phone_call", "compare",
27
- "notification", "progress", "rating"];
28
- /** Earlier versions of kinds a frozen timeline may still name, each with its own footprint (A8, #819). The phone's version 2 (#857 S5) only adds
29
- * optional fields, so version 1 keeps its geometry. */
30
- export const TEMPLATE_KIND_HISTORY = [{ ...phoneCall, kindVersion: 1 }];
37
+ "notification", "progress", "rating", "chat_window", "video_grid", "word_title", "phone_screen", "terminal", "pointer_chips", "chart", "race",
38
+ "hand_title", "word_fill"];
39
+ /** Earlier versions of kinds a frozen timeline may still name, each with its own footprint (A8, #819). The phone's version 2 (#857 S5) and the
40
+ * five kinds' version 2 (#1119) only add optional fields, so version 1 keeps its geometry. */
41
+ export const TEMPLATE_KIND_HISTORY = [{ ...phoneCall, kindVersion: 1 },
42
+ ...[chatWindowV1, notificationV1, terminalV1, lowerThirdV1, compareV1]];
31
43
  /** A kind as it was at `version`: the current entry or one from its history; a version neither holds has no footprint to draw. */
32
44
  export function templateKindAt(kind, version, kinds = TEMPLATE_KINDS, history = TEMPLATE_KIND_HISTORY) {
33
45
  const current = kinds.find(entry => entry.kind === kind);
@@ -41,7 +53,7 @@ export function templateKindAt(kind, version, kinds = TEMPLATE_KINDS, history =
41
53
  return past;
42
54
  }
43
55
  export { TEMPLATE_SIZES } from "./size.js";
44
- export { DEFAULT_TEMPLATE_SOUNDS, editSoundRefusals, editSounds, listTemplateSounds, mcpTemplateSounds, TEMPLATE_KIND_SOUNDS, TEMPLATE_SOUND_BEATS, TEMPLATE_SOUNDS, TEMPLATE_SOUNDS_PATH, templateSoundBeats, templateSoundMap, templateSounds, templateSoundsList } from "./sounds.js";
56
+ export { DEFAULT_TEMPLATE_SOUNDS, editSoundRefusals, editSounds, FACELESS_LOOK_SOUND, FACELESS_SOUND_BEATS, facelessSoundMap, facelessSoundRefusals, facelessTemplateSounds, listTemplateSounds, mcpTemplateSounds, TEMPLATE_KIND_SOUNDS, TEMPLATE_SOUND_BEATS, TEMPLATE_SOUNDS, TEMPLATE_SOUNDS_PATH, templateSoundBeats, templateSoundMap, templateSounds, templateSoundsList } from "./sounds.js";
45
57
  export { TAG_RECT_EMS } from "./tag.js";
46
58
  export { END_CARD_RECT_EMS } from "./end-card.js";
47
59
  export { TITLE_CARD_RECT_EMS } from "./title-card.js";
@@ -49,10 +61,21 @@ export { QUOTE_RECT_EMS } from "./quote.js";
49
61
  export { STAT_RECT_EMS } from "./stat.js";
50
62
  export { CALLOUT_LABEL_EMS, calloutParts } from "./callout.js";
51
63
  export { CHECKLIST_EMS } from "./checklist.js";
52
- export { COMPARE_CARD_SHAPE } from "./compare.js";
53
- export { NOTIFICATION_EMS } from "./notification.js";
64
+ export { COMPARE_CARD_SHAPE, COMPARE_REVEALS } from "./compare.js";
65
+ export { LOWER_THIRD_STYLES } from "./lower-third.js";
66
+ export { NOTIFICATION_EMS, notificationEms } from "./notification.js";
54
67
  export { PROGRESS_EMS } from "./progress.js";
55
68
  export { RATING_EMS } from "./rating.js";
69
+ export { CHAT_WINDOW_EMS, CHAT_WINDOW_ZOOM, chatWindowEms } from "./chat-window.js";
70
+ export { VIDEO_GRID_EMS, VIDEO_GRID_LAYOUTS, videoGridLayout, videoGridShape } from "./video-grid.js";
71
+ export { WORD_TITLE_RECT_EMS, WORD_TITLE_REVEALS } from "./word-title.js";
72
+ export { PHONE_SCREEN_EMS, PHONE_SCREEN_STATES } from "./phone-screen.js";
73
+ export { TERMINAL_CHANGES, TERMINAL_EMS, terminalEms } from "./terminal.js";
74
+ export { POINTER_CHIPS_EMS, pointerChipsParts } from "./pointer-chips.js";
75
+ export { CHART_EMS, CHART_TYPES, chartEms } from "./chart.js";
76
+ export { RACE_EMS, raceEms } from "./race.js";
77
+ export { HAND_MARKS, HAND_TITLE_EMS } from "./hand-title.js";
78
+ export { WORD_FILL_EMS } from "./word-fill.js";
56
79
  export { templateMedia } from "./slot.js";
57
80
  /** Every value at a dotted path of a kind's data, one per element where the path crosses or ends in a list, with its own path; an absent last
58
81
  * field is listed, a path through an absent object or list lists nothing. */
@@ -117,6 +140,10 @@ export function templateMoments(kind, data, tokens, range, words, fps, span, id
117
140
  const moments = beats.map((beat, index) => {
118
141
  if (beat.refusal)
119
142
  throw new Error(`template beat ${beat.path.join(".")} ${beat.refusal}`);
143
+ if (index === 0 && kind.firstBeatAtStart) {
144
+ before = 0;
145
+ return 0;
146
+ }
120
147
  const at = beat.word === undefined
121
148
  ? TEMPLATE_ENTER_FRAMES + Math.round(((0.8 * duration - TEMPLATE_ENTER_FRAMES) * (index + 1)) / beats.length)
122
149
  : Math.round(lexical[beat.word].startSec * fps) - span.startFrame;
@@ -212,12 +239,23 @@ export function templateFootprint(item, aspectRatio, kinds = TEMPLATE_KINDS, his
212
239
  return { rect: kind.rect(item.data, aspectRatio, undefined, framing), hidesCaptions: kind.hidesCaptions(item.data), onInserts: kind.onInserts,
213
240
  ...(kind.parts ? { parts: kind.parts(item.data, aspectRatio, framing) } : {}) };
214
241
  }
242
+ /** Templates asked at size large whose kind already fills the frame at medium: drawn at medium, and named (rule 3, #1128). */
243
+ export function templateSizeWarnings(input) {
244
+ if (!Array.isArray(input.templates))
245
+ return [];
246
+ return input.templates.flatMap(item => item.data?.size === "large" && TEMPLATE_KINDS.find(entry => entry.kind === item.kind)?.fillsFrame
247
+ ? [`template "${String(item.id)}" is drawn at medium: a ${String(item.kind)} already fills the frame there, so size large draws no larger`] : []);
248
+ }
249
+ /** Whether a template takes the whole frame: its entry and exit are cuts edit_sounds sounds. */
250
+ export function hasFullFrameTemplate(templates) {
251
+ return Array.isArray(templates) && templates.some(item => (item.placement ?? TEMPLATE_KINDS.find(kind => kind.kind === item.kind)?.placements[0]) === "full");
252
+ }
215
253
  /** Over-presenter templates whose footprint meets the face: drawn as asked, and named (rule 3); every kind's default stays off it. */
216
254
  export function templateFaceWarnings(input) {
217
255
  if (!Array.isArray(input.templates))
218
256
  return [];
219
257
  const aspect = typeof input.aspect_ratio === "string" ? input.aspect_ratio : "9:16";
220
- const framing = input.presenter_framing === "wide" ? "wide" : "close";
258
+ const framing = input.presenter_framing === "wide" || input.presenter_framing === "full" ? input.presenter_framing : "close";
221
259
  return input.templates.flatMap(item => {
222
260
  const kind = TEMPLATE_KINDS.find(entry => entry.kind === item.kind);
223
261
  const placement = item.placement ?? kind?.placements[0];
@@ -231,34 +269,38 @@ export function templateFaceWarnings(input) {
231
269
  : [];
232
270
  });
233
271
  }
272
+ function catalogField(kind, key, schema, path = key) {
273
+ const def = schema._zod.def;
274
+ if (def.type === "optional")
275
+ return `${catalogField(kind, key, def.innerType, path)}?`.replace(/^(\S+)(.*)\?$/, "$1?$2");
276
+ const options = schema.options;
277
+ if (kind.slots[path])
278
+ return `${key} {asset_id} ${kind.slots[path].type}${kind.slots[path].cover ? " (cut to fill)" : ""}`;
279
+ if (def.type === "number")
280
+ return `${key} number`;
281
+ if (def.type === "boolean")
282
+ return `${key} true|false`;
283
+ if (def.type === "array") {
284
+ // zod 4.6 fills `_zod.bag` lazily, so the bounds come from the public JSON Schema export.
285
+ const { minItems, maxItems } = z.toJSONSchema(schema, { unrepresentable: "any" });
286
+ return `${key} ${minItems ?? 0}–${maxItems} of ${catalogField(kind, "", def.element, path).trim()}`;
287
+ }
288
+ if (def.type === "object") {
289
+ const shape = Object.entries(schema.shape);
290
+ // An object holding text or a quote lists its fields; a plain one, such as a target, its keys.
291
+ const deep = [...Object.keys(kind.text), ...(kind.quotes ?? [])].some(name => name.startsWith(`${path}.`));
292
+ return `${key} {${deep ? shape.map(([name, inner]) => catalogField(kind, name, inner, `${path}.${name}`)).join(", ") : shape.map(([name]) => name).join(",")}}`;
293
+ }
294
+ if (kind.quotes?.includes(path))
295
+ return `${key} inner quote`;
296
+ return options ? `${key} ${options.join("|")}` : `${key} ≤ ${kind.text[path]}`;
297
+ }
298
+ /** A kind's data fields as its catalog line names them: types, text limits, media slots and inner quotes. */
299
+ export function templateDataText(kind) {
300
+ return Object.entries(kind.data.shape).map(([key, schema]) => catalogField(kind, key, schema)).join(", ");
301
+ }
234
302
  /** The `templates` description: the gate, the text rules and one catalog line per kind, all from the registry. */
235
303
  export function templateCatalogText(kinds = TEMPLATE_KINDS) {
236
- const field = (kind, key, schema, path = key) => {
237
- const def = schema._zod.def;
238
- if (def.type === "optional")
239
- return `${field(kind, key, def.innerType, path)}?`.replace(/^(\S+)(.*)\?$/, "$1?$2");
240
- const options = schema.options;
241
- if (kind.slots[path])
242
- return `${key} {asset_id} ${kind.slots[path].type}${kind.slots[path].cover ? " (cut to fill)" : ""}`;
243
- if (def.type === "number")
244
- return `${key} number`;
245
- if (def.type === "boolean")
246
- return `${key} true|false`;
247
- if (def.type === "array") {
248
- // zod 4.6 fills `_zod.bag` lazily, so the bounds come from the public JSON Schema export.
249
- const { minItems, maxItems } = z.toJSONSchema(schema, { unrepresentable: "any" });
250
- return `${key} ${minItems ?? 0}–${maxItems} of ${field(kind, "", def.element, path).trim()}`;
251
- }
252
- if (def.type === "object") {
253
- const shape = Object.entries(schema.shape);
254
- // An object holding text or a quote lists its fields; a plain one, such as a target, its keys.
255
- const deep = [...Object.keys(kind.text), ...(kind.quotes ?? [])].some(name => name.startsWith(`${path}.`));
256
- return `${key} {${deep ? shape.map(([name, inner]) => field(kind, name, inner, `${path}.${name}`)).join(", ") : shape.map(([name]) => name).join(",")}}`;
257
- }
258
- if (kind.quotes?.includes(path))
259
- return `${key} inner quote`;
260
- return options ? `${key} ${options.join("|")}` : `${key} ≤ ${kind.text[path]}`;
261
- };
262
304
  return "Graphic templates, each { id, kind, anchor, cover_words?, placement?, transition?, data }. On any script run. Templates never " +
263
305
  "change the price: every run is billed by its parts as list_prices states them, and a presenter a template covers is still " +
264
306
  "presenter time. Ids are unique across inserts, overlays, layout_windows " +
@@ -270,8 +312,8 @@ export function templateCatalogText(kinds = TEMPLATE_KINDS) {
270
312
  "leaves them. A full-frame template also hides the presenter, overlays " +
271
313
  "and over-presenter templates while it shows, never meets a wipe or zoom insert, and the covered presenter is billed. " +
272
314
  `At most ${MAX_OVERLAYS_AT_ONCE} overlays and over-presenter templates show at once, on footprints that do not ` +
273
- "overlap. template_theme sets the look of them all. Kinds: " + kinds.map(kind => `${kind.kind} (${kind.placements.join("|")}): ${kind.description}; data ` +
274
- Object.entries(kind.data.shape).map(([key, schema]) => field(kind, key, schema)).join(", ")).join(". ") + ".";
315
+ "overlap. template_theme sets the look of them all. Kinds: " +
316
+ kinds.map(kind => `${kind.kind} (${kind.placements.join("|")}): ${kind.description}; data ${templateDataText(kind)}`).join(". ") + ".";
275
317
  }
276
318
  const overlaps = (a, b) => a.startWord < b.coverWord && b.startWord < a.coverWord;
277
319
  const meets = (a, b) => a.coverWord === b.startWord || b.coverWord === a.startWord;
@@ -282,13 +324,16 @@ export function templateRefusals(input, kinds = TEMPLATE_KINDS) {
282
324
  if (input.templates === undefined) {
283
325
  // The edit sound alone needs no templates; it and `false` beside edit_sounds are judged by `editSoundRefusals`.
284
326
  const sounds = input.template_sounds;
285
- const editOnly = (sounds === false && input.edit_sounds === true) ||
286
- (typeof sounds === "object" && sounds !== null && Object.keys(sounds).length > 0 && Object.keys(sounds).every(beat => beat === "edit"));
327
+ const named = typeof sounds === "object" && sounds !== null ? Object.keys(sounds) : [];
328
+ const editOnly = (sounds === false && input.edit_sounds === true) || (named.length > 0 && named.every(beat => beat === "edit"));
329
+ // A live shot's flash, light leak or whoosh plays the flash or whoosh sound, which template_sounds names or mutes (#1129).
330
+ const shotSounds = (input.shots ?? []).some(shot => shot.transition !== undefined && shot.transition !== "cut") &&
331
+ (sounds === false || named.every(beat => beat === "flash" || beat === "whoosh" || beat === "edit"));
287
332
  // A call brings its own phone (#857 S5), which the run's theme and sounds style as any template.
288
333
  if (input.call !== undefined)
289
334
  return [];
290
335
  return [...(input.template_theme === undefined ? [] : [{ path: ["template_theme"], message: "template_theme styles templates: add templates or drop it" }]),
291
- ...(sounds === undefined || editOnly ? [] : [{ path: ["template_sounds"], message: "template_sounds sounds templates: add templates or drop it" }])];
336
+ ...(sounds === undefined || editOnly || shotSounds ? [] : [{ path: ["template_sounds"], message: "template_sounds sounds templates: add templates or drop it" }])];
292
337
  }
293
338
  if (input.script === undefined || input.segments !== undefined) {
294
339
  return [{ path: ["templates"], message: "templates require script and cannot be combined with segments" }];
@@ -304,9 +349,8 @@ export function templateRefusals(input, kinds = TEMPLATE_KINDS) {
304
349
  const used = new Map(["inserts", "overlays", "layout_windows"].flatMap(field => (input[field] ?? []).map(item => [item.id, field])));
305
350
  const ranged = (items) => (items ?? []).flatMap(item => { const range = layerWordRange(tokens, item); return typeof range === "string" ? [] : [{ item, range }]; });
306
351
  const inserts = ranged(input.inserts), windows = ranged(input.layout_windows);
307
- // A wide request may render close when the actor has no wide view, so footprints are checked in both framings; wide needs an actor and 9:16.
308
- const wideCanRender = input.presenter_framing === "wide" && input.actor_id !== undefined && aspect === "9:16";
309
- const framings = wideCanRender ? ["close", "wide"] : ["close"];
352
+ // A wider request may render narrower when the actor has no such view, so footprints are checked in every framing it may render.
353
+ const framings = admissionFramings({ ...input, aspect_ratio: aspect });
310
354
  // An overlay's footprint is its preset's, or the box its place resolves to (#973 S1); a place on a broken chain is refused with the overlays.
311
355
  // A template's is its kind's rect, or that rect scaled whole into its place (S4); overlays and templates may stand by one another.
312
356
  const scenes = framings.map(framing => {
@@ -423,10 +467,10 @@ export function templateRefusals(input, kinds = TEMPLATE_KINDS) {
423
467
  refuse(`shares the screen with "${clash.id}" at the same time on an overlapping footprint: move one of them or its words`);
424
468
  continue;
425
469
  }
426
- const crowd = together.flatMap((a, i) => together.slice(i + 1).filter(b => Math.max(a.range.startWord, b.range.startWord, entry.range.startWord) <
427
- Math.min(a.range.coverWord, b.range.coverWord, entry.range.coverWord)).map(b => [a, b]))[0];
470
+ const crowd = overlayCrowd(together, entry.range);
428
471
  if (crowd)
429
- refuse(`would be on screen together with "${crowd[0].id}" and "${crowd[1].id}": at most ${MAX_OVERLAYS_AT_ONCE} overlays and templates show at once`);
472
+ refuse(`would be on screen together with ${crowd.map(other => `"${other.id}"`).join(", ")}: at most ${MAX_OVERLAYS_AT_ONCE} ` +
473
+ "overlays and templates show at once");
430
474
  }
431
475
  for (const overlay of overlays) {
432
476
  if (fulls.some(other => overlaps(other.range, overlay.range)) && coveredBy(overlay.range, [...inserts, ...fulls].map(other => other.range))) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import { z } from "zod";
2
2
  import type { TemplateKind } from "./index.js";
3
+ /** How the bar draws and enters (#1119): a card wiped in with a tab, a rule beside the text, a rounded pill with a dot, or the name revealed
4
+ * behind a sweeping bar. */
5
+ export declare const LOWER_THIRD_STYLES: readonly ["clean_bar", "side_rule", "soft_pill", "mask_reveal"];
3
6
  declare const data: z.ZodObject<{
4
7
  name: z.ZodString;
5
8
  role: z.ZodOptional<z.ZodString>;
@@ -7,6 +10,12 @@ declare const data: z.ZodObject<{
7
10
  left: "left";
8
11
  right: "right";
9
12
  }>;
13
+ style: z.ZodOptional<z.ZodEnum<{
14
+ clean_bar: "clean_bar";
15
+ mask_reveal: "mask_reveal";
16
+ side_rule: "side_rule";
17
+ soft_pill: "soft_pill";
18
+ }>>;
10
19
  size: z.ZodOptional<z.ZodEnum<{
11
20
  large: "large";
12
21
  medium: "medium";
@@ -15,4 +24,6 @@ declare const data: z.ZodObject<{
15
24
  }, z.core.$strict>;
16
25
  /** A name bar low in the frame, in the caption spot: captions step aside while it shows. */
17
26
  export declare const lowerThird: TemplateKind<typeof data>;
27
+ /** Version 1: no style; its footprint is version 2's. */
28
+ export declare const lowerThirdV1: TemplateKind<typeof data>;
18
29
  export {};
@@ -1,13 +1,16 @@
1
1
  import { z } from "zod";
2
2
  import { frameCanvasOf } from "../ugc-layers.js";
3
3
  import { sizedScale, templateSize } from "./size.js";
4
+ /** How the bar draws and enters (#1119): a card wiped in with a tab, a rule beside the text, a rounded pill with a dot, or the name revealed
5
+ * behind a sweeping bar. */
6
+ export const LOWER_THIRD_STYLES = ["clean_bar", "side_rule", "soft_pill", "mask_reveal"];
4
7
  const data = z.object({ name: z.string().min(1).max(28), role: z.string().min(1).max(36).optional(), side: z.enum(["left", "right"]),
5
- size: templateSize }).strict();
8
+ style: z.enum(LOWER_THIRD_STYLES).optional(), size: templateSize }).strict();
6
9
  /** A name bar low in the frame, in the caption spot: captions step aside while it shows. */
7
10
  export const lowerThird = {
8
11
  kind: "lower_third",
9
- kindVersion: 1,
10
- description: "a name and role bar low in the frame; captions are hidden while it shows",
12
+ kindVersion: 2,
13
+ description: "a name and role bar low in the frame; captions are hidden while it shows; style absent is clean_bar",
11
14
  placements: ["over"],
12
15
  data,
13
16
  text: { name: 28, role: 36 },
@@ -23,4 +26,6 @@ export const lowerThird = {
23
26
  },
24
27
  sample: { name: "Maya Chen", role: "Founder, Northwind Dental", side: "left" },
25
28
  };
29
+ /** Version 1: no style; its footprint is version 2's. */
30
+ export const lowerThirdV1 = { ...lowerThird, kindVersion: 1 };
26
31
  //# sourceMappingURL=lower-third.js.map