@clipwright/core 0.35.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.
- package/README.md +3 -2
- package/dist/account-actors.d.ts +5 -6
- package/dist/account-actors.js +5 -6
- package/dist/account-actors.js.map +1 -1
- package/dist/actors.d.ts +8 -0
- package/dist/actors.js +2 -0
- package/dist/actors.js.map +1 -1
- package/dist/api-failure.d.ts +1 -1
- package/dist/api-failure.js +2 -2
- package/dist/api-failure.js.map +1 -1
- package/dist/aspect.d.ts +1 -1
- package/dist/aspect.js +5 -5
- package/dist/aspect.js.map +1 -1
- package/dist/assets.d.ts +13 -5
- package/dist/assets.js +7 -6
- package/dist/assets.js.map +1 -1
- package/dist/billing-terms.d.ts +1 -1
- package/dist/billing-terms.js +1 -1
- package/dist/billing-terms.js.map +1 -1
- package/dist/canvas-fit.js +1 -1
- package/dist/canvas-fit.js.map +1 -1
- package/dist/caption-geometry.d.ts +43 -0
- package/dist/caption-geometry.js +41 -0
- package/dist/caption-geometry.js.map +1 -0
- package/dist/contract-dispositions.d.ts +1005 -43
- package/dist/contract-dispositions.js +36 -16
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/contracts/v1/workflow-brief.d.ts +2045 -38
- package/dist/contracts/v1/workflow-brief.js +2 -2
- package/dist/contracts/v1/workflow-brief.js.map +1 -1
- package/dist/contracts/v1/workflow-catalog.d.ts +2196 -72
- package/dist/contracts/v1/workflow-client.d.ts +1249 -70
- package/dist/contracts/v1/workflow-execution.d.ts +3 -3
- package/dist/contracts/v1/workflow-plan.d.ts +3294 -108
- package/dist/contracts/v1/workflow-run-read.d.ts +2 -2
- package/dist/edit-billing.d.ts +1 -0
- package/dist/edit-billing.js +3 -2
- package/dist/edit-billing.js.map +1 -1
- package/dist/edit-candidate.d.ts +2 -2
- package/dist/edit-candidate.js +2 -2
- package/dist/edit-candidate.js.map +1 -1
- package/dist/edit-document.d.ts +22 -0
- package/dist/edit-document.js +3 -0
- package/dist/edit-document.js.map +1 -1
- package/dist/edit-long-form.d.ts +2 -2
- package/dist/edit-long-form.js +3 -3
- package/dist/edit-long-form.js.map +1 -1
- package/dist/edit-revision.d.ts +10 -1
- package/dist/edit-revision.js +1 -1
- package/dist/edit-revision.js.map +1 -1
- package/dist/edit-rules.d.ts +1 -0
- package/dist/edit-rules.js +3 -0
- package/dist/edit-rules.js.map +1 -1
- package/dist/edit-shots.d.ts +2 -0
- package/dist/edit-validate.d.ts +4 -2
- package/dist/edit-validate.js +18 -2
- package/dist/edit-validate.js.map +1 -1
- package/dist/endpoint-notes.js +12 -8
- package/dist/endpoint-notes.js.map +1 -1
- package/dist/endpoints.d.ts +1 -1
- package/dist/endpoints.js +4 -1
- package/dist/endpoints.js.map +1 -1
- package/dist/errors.d.ts +3 -2
- package/dist/errors.js +5 -2
- package/dist/errors.js.map +1 -1
- package/dist/face-billing.d.ts +1 -1
- package/dist/face-billing.js +3 -3
- package/dist/face-billing.js.map +1 -1
- package/dist/face-delivery.d.ts +1 -1
- package/dist/face-delivery.js +1 -1
- package/dist/face-delivery.js.map +1 -1
- package/dist/faceless-media-record.d.ts +28 -1
- package/dist/faceless-media-record.js +16 -2
- package/dist/faceless-media-record.js.map +1 -1
- package/dist/faceless-price.d.ts +25 -6
- package/dist/faceless-price.js +13 -6
- package/dist/faceless-price.js.map +1 -1
- package/dist/faceless-public-plan.d.ts +6 -2
- package/dist/faceless-public-plan.js +11 -7
- package/dist/faceless-public-plan.js.map +1 -1
- package/dist/faceless-public.d.ts +108 -1
- package/dist/faceless-public.js +38 -5
- package/dist/faceless-public.js.map +1 -1
- package/dist/faceless-voices.d.ts +6 -6
- package/dist/faceless-voices.js +5 -5
- package/dist/faceless-voices.js.map +1 -1
- package/dist/feedback.d.ts +29 -0
- package/dist/feedback.js +29 -0
- package/dist/feedback.js.map +1 -0
- package/dist/generations.d.ts +2 -19
- package/dist/generations.js +28 -48
- package/dist/generations.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/long-form-revision.d.ts +8 -0
- package/dist/media-timebase.js +2 -2
- package/dist/media-timebase.js.map +1 -1
- package/dist/openapi.d.ts +4 -3
- package/dist/openapi.js +8 -3
- package/dist/openapi.js.map +1 -1
- package/dist/parts-pricing.d.ts +3 -3
- package/dist/parts-pricing.js +6 -6
- package/dist/parts-pricing.js.map +1 -1
- package/dist/presenter-beats.d.ts +2 -2
- package/dist/presenter-beats.js +2 -2
- package/dist/presenter-beats.js.map +1 -1
- package/dist/prices.js +5 -1
- package/dist/prices.js.map +1 -1
- package/dist/public-responses.d.ts +1 -1
- package/dist/public-responses.js +1 -1
- package/dist/public-responses.js.map +1 -1
- package/dist/rate-limit.d.ts +2 -2
- package/dist/rate-limit.js +2 -2
- package/dist/rate-limit.js.map +1 -1
- package/dist/reference-analysis.d.ts +636 -43
- package/dist/reference-analysis.js +262 -22
- package/dist/reference-analysis.js.map +1 -1
- package/dist/reference-display.d.ts +36 -0
- package/dist/reference-display.js +78 -0
- package/dist/reference-display.js.map +1 -0
- package/dist/reference-kinds.d.ts +3 -1
- package/dist/reference-kinds.js +3 -1
- package/dist/reference-kinds.js.map +1 -1
- package/dist/reference-profile.d.ts +2394 -40
- package/dist/reference-profile.js +192 -17
- package/dist/reference-profile.js.map +1 -1
- package/dist/reference-staging.d.ts +71 -57
- package/dist/reference-staging.js +9 -6
- package/dist/reference-staging.js.map +1 -1
- package/dist/reference-voice.d.ts +1 -1
- package/dist/reference-voice.js +3 -3
- package/dist/reference-voice.js.map +1 -1
- package/dist/render-backend.d.ts +1 -1
- package/dist/resolved-timeline.d.ts +201 -4
- package/dist/resolved-timeline.js +20 -8
- package/dist/resolved-timeline.js.map +1 -1
- package/dist/run-static-warnings.js +1 -1
- package/dist/run-static-warnings.js.map +1 -1
- package/dist/runs.d.ts +3 -3
- package/dist/runs.js +3 -3
- package/dist/runs.js.map +1 -1
- package/dist/scene-place.d.ts +225 -0
- package/dist/scene-place.js +120 -0
- package/dist/scene-place.js.map +1 -0
- package/dist/semantic-inserts.d.ts +1 -1
- package/dist/semantic-inserts.js +2 -2
- package/dist/semantic-inserts.js.map +1 -1
- package/dist/skills.d.ts +4685 -30
- package/dist/skills.js +153 -37
- package/dist/skills.js.map +1 -1
- package/dist/templates/index.d.ts +15 -5
- package/dist/templates/index.js +50 -6
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/size.d.ts +1 -1
- package/dist/templates/size.js +1 -1
- package/dist/templates/size.js.map +1 -1
- package/dist/templates/sounds.js +1 -1
- package/dist/templates/sounds.js.map +1 -1
- package/dist/ugc-call.d.ts +1 -1
- package/dist/ugc-call.js +2 -2
- package/dist/ugc-call.js.map +1 -1
- package/dist/ugc-delivery.d.ts +1 -1
- package/dist/ugc-delivery.js +1 -1
- package/dist/ugc-delivery.js.map +1 -1
- package/dist/ugc-interview.d.ts +122 -0
- package/dist/ugc-interview.js +260 -0
- package/dist/ugc-interview.js.map +1 -0
- package/dist/ugc-layers.d.ts +88 -6
- package/dist/ugc-layers.js +193 -5
- package/dist/ugc-layers.js.map +1 -1
- package/dist/ugc-video-media.d.ts +1 -1
- package/dist/ugc-video-media.js +1 -1
- package/dist/ugc-video-media.js.map +1 -1
- package/dist/uploads.d.ts +2 -2
- package/dist/uploads.js +2 -2
- package/dist/uploads.js.map +1 -1
- package/dist/vendor-response.d.ts +1 -1
- package/dist/vendor-response.js +1 -1
- package/dist/vendor-response.js.map +1 -1
- package/dist/voice-admission.d.ts +1450 -498
- package/dist/voice-admission.js +22 -5
- package/dist/voice-admission.js.map +1 -1
- package/dist/voice-listing.d.ts +4 -4
- package/dist/voice-listing.js +4 -5
- package/dist/voice-listing.js.map +1 -1
- package/dist/voice-pace.js +1 -1
- package/dist/voice-pace.js.map +1 -1
- package/dist/voices.d.ts +12 -12
- package/dist/voices.js +41 -20
- package/dist/voices.js.map +1 -1
- package/dist/workflows/methods/faceless-explainer.d.ts +612 -15
- package/dist/workflows/methods/kinetic-launch.d.ts +612 -15
- package/dist/workflows/methods/kinetic-launch.js +1 -1
- package/dist/workflows/methods/product-image-story.d.ts +612 -15
- package/dist/workflows/methods/reference-remake.d.ts +612 -15
- package/dist/workflows/methods/shared.d.ts +612 -15
- package/dist/workflows/methods/shared.js +2 -2
- package/dist/workflows/methods/shared.js.map +1 -1
- package/dist/workflows/methods/ugc-faq-answer.d.ts +612 -15
- package/dist/workflows/methods/ugc-product-intro.d.ts +612 -15
- package/dist/workflows/methods/website-proof-demo.d.ts +612 -15
- package/dist/workflows/methods/website-proof-demo.js +1 -1
- package/dist/workflows/reference-remake.d.ts +152 -35
- package/dist/workflows/reference-remake.js +188 -23
- package/dist/workflows/reference-remake.js.map +1 -1
- package/dist/workflows/validate.js +4 -4
- package/dist/workflows/validate.js.map +1 -1
- package/package.json +2 -3
- package/CHANGELOG.md +0 -1500
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { REFERENCE_GRAPHIC_KINDS, REFERENCE_SOURCE_KINDS } from "./reference-kinds.js";
|
|
3
|
-
import { referenceStaging, stagingIssues } from "./reference-staging.js";
|
|
3
|
+
import { referenceStaging, stagingIssues, stagingRect } from "./reference-staging.js";
|
|
4
4
|
import { referenceVoice } from "./reference-voice.js";
|
|
5
5
|
import { CAPTION_EMPHASIS_LOOKS } from "./skills.js";
|
|
6
6
|
import { TEMPLATE_KIND_IDS, TEMPLATE_SOUND_BEATS } from "./templates/index.js";
|
|
7
7
|
import { PRESENTER_FRAMINGS } from "./ugc-layers.js";
|
|
8
|
-
export { REFERENCE_GRAPHIC_KINDS, REFERENCE_SOURCE_KINDS } from "./reference-kinds.js";
|
|
8
|
+
export { REFERENCE_DESCRIBED_KINDS, REFERENCE_GRAPHIC_KINDS, REFERENCE_SOURCE_KINDS } from "./reference-kinds.js";
|
|
9
9
|
// Reference profile (reference-to-video S1): a reference ad's style in our vocabulary, beats in shares of its length, never its media.
|
|
10
10
|
export const REFERENCE_PROFILE_VERSION = "reference-profile-v1";
|
|
11
11
|
export const REFERENCE_FORMATS = ["talking_head_graphics", "faceless", "broll", "other"];
|
|
@@ -19,45 +19,115 @@ export const REFERENCE_SOUND_KINDS = [...TEMPLATE_SOUND_BEATS, "music", "recorde
|
|
|
19
19
|
export const REFERENCE_PRESENTER_BEHAVIOURS = ["speaking", "listening", "reacting", "absent"];
|
|
20
20
|
export const REFERENCE_CAPTION_POSITIONS = ["top", "middle", "lower", "bottom"];
|
|
21
21
|
export const MAX_REFERENCE_SUMMARY_CHARS = 200;
|
|
22
|
-
|
|
22
|
+
export const MAX_REFERENCE_LABEL_CHARS = 120;
|
|
23
|
+
/** The transcribed words of a 120 s reference stay well under this (Ana, 69 s: 147 words). */
|
|
24
|
+
export const MAX_REFERENCE_TRANSCRIPT_WORDS = 1000;
|
|
25
|
+
/** The hook is the reference's first 3 s, carried to the end of its sentence but never past 6 s. */
|
|
26
|
+
export const REFERENCE_HOOK_SECONDS = 3;
|
|
27
|
+
export const REFERENCE_HOOK_MAX_SECONDS = 6;
|
|
28
|
+
/** What a graphic does at a state change, in a closed set. The reference's words live in transcript, hook, spoken_summary and label_hint. */
|
|
23
29
|
export const REFERENCE_STATE_CHANGES = ["appears", "disappears", "toggles_on", "toggles_off", "checked", "value_changes", "highlighted", "other"];
|
|
24
30
|
const customIssue = "custom";
|
|
25
31
|
const frac = z.number().min(0).max(1);
|
|
26
32
|
const seconds = z.number().min(0);
|
|
27
33
|
const text = (max) => z.string().max(max);
|
|
34
|
+
const frameSecond = z.number().int().min(0);
|
|
35
|
+
export const MAX_BEAT_FRAMES = 12;
|
|
28
36
|
const referenceGraphic = z.strictObject({
|
|
29
37
|
kind: z.enum(REFERENCE_GRAPHIC_KINDS),
|
|
30
38
|
source_kind: z.enum(REFERENCE_SOURCE_KINDS).describe("The analyser's own word for it, or other."),
|
|
31
39
|
position: z.enum(REFERENCE_POSITIONS),
|
|
32
40
|
state_changes: z.array(z.strictObject({ at_frac: frac.describe("Share of the beat."), change: z.enum(REFERENCE_STATE_CHANGES) })).max(12),
|
|
33
|
-
label_hint: text(
|
|
41
|
+
label_hint: text(MAX_REFERENCE_LABEL_CHARS).describe("What it shows, read off the screen, such as \"Blue banner 'DEVELOP THE STORY'\"; empty when it gave none."),
|
|
42
|
+
});
|
|
43
|
+
/** Who speaks, where they look and what their hands do (#978): closed lists, each claim with the seconds of the frames that show it. */
|
|
44
|
+
export const REFERENCE_SPEAKER_ROLES = ["presenter", "interviewer", "guest", "narrator", "other"];
|
|
45
|
+
export const REFERENCE_MOUTHS = ["moving", "closed", "not_visible"];
|
|
46
|
+
export const REFERENCE_MOUTH_MEASURES = ["moving", "still", "not_measured"];
|
|
47
|
+
export const REFERENCE_GAZES = ["camera", "off_left", "off_right", "up", "down", "closed", "mixed", "not_visible"];
|
|
48
|
+
export const REFERENCE_GESTURES = ["both_hands_to_viewer", "point_at_viewer", "point_at_element", "count_on_fingers", "hold_object", "open_palms", "wave",
|
|
49
|
+
"shrug", "thumbs_up", "other"];
|
|
50
|
+
export const MAX_REFERENCE_SPEAKERS = 6;
|
|
51
|
+
export const MAX_REFERENCE_SEGMENTS = 200;
|
|
52
|
+
export const MAX_CLAIM_FRAMES = 6;
|
|
53
|
+
export const MAX_REFERENCE_SPELLINGS = 40;
|
|
54
|
+
export const speakerId = z.string().regex(/^[a-z0-9_]{1,24}$/);
|
|
55
|
+
/** A frame's time: a whole second, or the end frame's (#989), which lies between the last second and the reel's end. */
|
|
56
|
+
const claimSecond = z.number().min(0);
|
|
57
|
+
const claimFrames = z.array(claimSecond).max(MAX_CLAIM_FRAMES);
|
|
58
|
+
const unitRect = z.strictObject({ left: frac, top: frac, width: frac, height: frac });
|
|
59
|
+
export const referenceSpeaker = z.strictObject({
|
|
60
|
+
id: speakerId.describe("presenter for the person on camera; off_screen_1, on_screen_2… for the others."),
|
|
61
|
+
on_screen: z.boolean().describe("false for a voice whose speaker the reel never shows, such as an interviewer behind the camera."),
|
|
62
|
+
role: z.enum(REFERENCE_SPEAKER_ROLES),
|
|
63
|
+
word_count: z.number().int().min(0),
|
|
64
|
+
caption: z.strictObject({
|
|
65
|
+
colour: z.string().regex(/^#[0-9A-F]{6}$/).nullable(), style: text(80), position: z.enum(REFERENCE_CAPTION_POSITIONS).nullable(),
|
|
66
|
+
box: unitRect.optional().describe("Where this speaker's caption sits, in shares of the frame, as seen in the picture."),
|
|
67
|
+
}).nullable().describe("This speaker's caption look; null when their words have no caption."),
|
|
68
|
+
frames_s: claimFrames.describe("Seconds of frames where this speaker talks."),
|
|
69
|
+
});
|
|
70
|
+
export const referenceSegment = z.strictObject({
|
|
71
|
+
start_s: seconds, end_s: seconds, text: text(MAX_REFERENCE_SUMMARY_CHARS),
|
|
72
|
+
speaker: z.string().min(1).max(40).describe("A speakers[].id in a full analysis; the transcription's label in a data one."),
|
|
73
|
+
mouth: z.strictObject({
|
|
74
|
+
vision: z.enum(REFERENCE_MOUTHS).nullable().describe("The presenter's mouth as seen in the picture while these words play."),
|
|
75
|
+
measured: z.enum(REFERENCE_MOUTH_MEASURES).describe("The presenter's mouth motion measured on the frames, against the reel's other segments."),
|
|
76
|
+
score: z.number().min(0).nullable().describe("Mouth-region motion over eye-region motion; higher moves more."),
|
|
77
|
+
}).optional(),
|
|
78
|
+
frames_s: claimFrames,
|
|
34
79
|
});
|
|
35
80
|
const referenceBeat = z.strictObject({
|
|
36
81
|
start_frac: frac, end_frac: frac,
|
|
37
82
|
start_s: seconds.describe("Seconds of the reference, kept as evidence only."), end_s: seconds,
|
|
38
83
|
role: z.enum(REFERENCE_BEAT_ROLES),
|
|
39
|
-
spoken_summary: text(MAX_REFERENCE_SUMMARY_CHARS),
|
|
84
|
+
spoken_summary: text(MAX_REFERENCE_SUMMARY_CHARS).describe("The words spoken in the beat, cut at 200 characters; empty when none were heard."),
|
|
40
85
|
graphics: z.array(referenceGraphic).max(8),
|
|
41
86
|
camera: z.enum(REFERENCE_CAMERAS),
|
|
42
87
|
transition_in: z.enum(REFERENCE_TRANSITIONS),
|
|
43
88
|
sounds: z.array(z.strictObject({ at_frac: frac, kind: z.enum(REFERENCE_SOUND_KINDS) })).max(12),
|
|
44
89
|
presenter_behaviour: z.enum(REFERENCE_PRESENTER_BEHAVIOURS),
|
|
90
|
+
/** Optional since #979: the frames that show the beat, as seconds of the analysis's one-a-second frames. */
|
|
91
|
+
key_frame_s: frameSecond.optional().describe("The second whose frame shows the beat, nearest its middle."),
|
|
92
|
+
frames_s: z.array(claimSecond).max(MAX_BEAT_FRAMES).optional().describe("The seconds of the frames inside the beat, at most 12, evenly spread."),
|
|
93
|
+
/** Optional since #978; since #989 the beat's last words, not its longest speaker. */
|
|
94
|
+
speaker: speakerId.nullable().optional()
|
|
95
|
+
.describe("The speakers[].id of the beat's last words: the answer in a question-and-answer beat; null when nobody speaks."),
|
|
96
|
+
/** Optional since #989. */
|
|
97
|
+
speakers: z.array(z.strictObject({ id: speakerId, seconds })).max(MAX_REFERENCE_SPEAKERS).optional()
|
|
98
|
+
.describe("Everyone heard in the beat, in the order they first speak, with their seconds of speech."),
|
|
99
|
+
gaze: z.strictObject({ direction: z.enum(REFERENCE_GAZES), frames_s: claimFrames }).optional()
|
|
100
|
+
.describe("Where the presenter looks for most of the beat; off_left and off_right are toward that edge of the image; mixed when no direction holds 60%."),
|
|
101
|
+
gestures: z.array(z.strictObject({ kind: z.enum(REFERENCE_GESTURES), at_s: seconds, label: text(80), frames_s: claimFrames })).max(4).optional()
|
|
102
|
+
.describe("Notable gestures in the beat, such as both hands toward the viewer at the call to action."),
|
|
45
103
|
});
|
|
46
|
-
export const
|
|
104
|
+
export const referenceWord = z.strictObject({ text: z.string().min(1).max(64), start_s: seconds, end_s: seconds,
|
|
105
|
+
speaker: z.string().min(1).max(40).optional().describe("The transcription's speaker label, such as speaker_0; absent when it gave none.") });
|
|
106
|
+
export const referenceLanguage = z.string().regex(/^[a-z]{2,3}$/).nullable()
|
|
107
|
+
.describe("The spoken language the transcription detected, an ISO 639 code such as eng or ara; null when it named none.");
|
|
108
|
+
export const referenceHook = z.strictObject({
|
|
109
|
+
text: text(MAX_REFERENCE_SUMMARY_CHARS).describe(`The words that start in the first ${REFERENCE_HOOK_SECONDS} s, through the end of their sentence `
|
|
110
|
+
+ `(no word starting past ${REFERENCE_HOOK_MAX_SECONDS} s); empty when none do.`),
|
|
111
|
+
end_s: seconds.describe("Where the hook's last word ends, else where its window does."),
|
|
112
|
+
caption: text(MAX_REFERENCE_LABEL_CHARS).optional().describe("The first on-screen caption line read inside the hook's window."),
|
|
113
|
+
});
|
|
114
|
+
const profileHead = {
|
|
47
115
|
version: z.literal(REFERENCE_PROFILE_VERSION),
|
|
48
116
|
source: z.strictObject({ digest: z.string().regex(/^sha256:[0-9a-f]{64}$/), duration_s: z.number().positive(), width: z.number().int().positive(),
|
|
49
117
|
height: z.number().int().positive(), url: z.string().url().max(2048).optional() }),
|
|
50
118
|
format: z.enum(REFERENCE_FORMATS),
|
|
51
119
|
beats: z.array(referenceBeat).min(1).max(40),
|
|
52
120
|
captions: z.strictObject({ present: z.boolean(), words_per_caption_max: z.number().int().min(1).max(12), position: z.enum(REFERENCE_CAPTION_POSITIONS),
|
|
53
|
-
emphasis_style: z.enum([...CAPTION_EMPHASIS_LOOKS, "none"]), hidden_under_graphics: z.boolean()
|
|
121
|
+
emphasis_style: z.enum([...CAPTION_EMPHASIS_LOOKS, "none"]), hidden_under_graphics: z.boolean(),
|
|
122
|
+
/** Optional since #973 S5: a profile without it parses, and the remake infers a layer under the captions from position. */
|
|
123
|
+
box: stagingRect.optional().describe("The caption block's box, in shares of the frame.") }),
|
|
54
124
|
pacing: z.strictObject({ layer_change_every_s: z.number().positive(), face_share: frac }),
|
|
55
125
|
palette: z.array(z.string().regex(/^#[0-9A-F]{6}$/)).max(8),
|
|
56
126
|
music: text(200),
|
|
57
127
|
unmapped: z.array(z.strictObject({ what: text(200), beat_index: z.number().int().min(0), suggested_substitute: text(200) })).max(40),
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
128
|
+
};
|
|
129
|
+
const analysisWarnings = { warnings: z.array(text(200)).max(8).optional().describe("What the analysis could not measure, such as the voice; also in warnings[].") };
|
|
130
|
+
const profileTail = {
|
|
61
131
|
/** Optional since S7: a profile written before it has none and still parses. */
|
|
62
132
|
voice: referenceVoice.optional(),
|
|
63
133
|
/** Optional since #884 S5d; absent reads as close. */
|
|
@@ -68,8 +138,48 @@ export const referenceProfile = z.strictObject({
|
|
|
68
138
|
.describe("true when the presenter holds a small handheld or clip-on microphone in their hand while speaking (not clipped to clothing)."),
|
|
69
139
|
/** Optional since #914 D1: a profile without it parses, and every field inside it is absent when not measured. */
|
|
70
140
|
staging: referenceStaging.optional(),
|
|
71
|
-
|
|
141
|
+
/** Optional since #930 S1, as is hook: a profile written before them parses. */
|
|
142
|
+
transcript: z.array(referenceWord).max(MAX_REFERENCE_TRANSCRIPT_WORDS).optional().describe("The reference's speech as timed words, in order."),
|
|
143
|
+
/** Optional since #990. */
|
|
144
|
+
transcript_language: referenceLanguage.optional(),
|
|
145
|
+
hook: referenceHook.optional(),
|
|
146
|
+
/** Optional since #978: who speaks, on or off screen, with each one's caption look; segments are the transcript as turns. */
|
|
147
|
+
speakers: z.array(referenceSpeaker).max(MAX_REFERENCE_SPEAKERS).optional(),
|
|
148
|
+
segments: z.array(referenceSegment).max(MAX_REFERENCE_SEGMENTS).optional().describe("The transcript as timed segments, each with its speaker."),
|
|
149
|
+
/** Optional since #989. */
|
|
150
|
+
spellings: z.array(z.strictObject({ heard: text(MAX_REFERENCE_LABEL_CHARS), shown: text(MAX_REFERENCE_LABEL_CHARS), start_s: seconds, end_s: seconds }))
|
|
151
|
+
.max(MAX_REFERENCE_SPELLINGS).optional()
|
|
152
|
+
.describe("Names heard one way while the screen spells them another at the same time, such as heard Piggs Field, shown Higgsfield; " +
|
|
153
|
+
"transcript and segments keep the heard words."),
|
|
154
|
+
};
|
|
155
|
+
function checkProfile(profile, ctx) {
|
|
72
156
|
const issue = (path, message) => ctx.addIssue({ code: customIssue, path, message });
|
|
157
|
+
const duration = profile.source.duration_s;
|
|
158
|
+
profile.transcript?.forEach((word, index) => {
|
|
159
|
+
if (word.end_s < word.start_s)
|
|
160
|
+
issue(["transcript", index, "end_s"], "ends before the word starts");
|
|
161
|
+
else if (word.end_s > duration)
|
|
162
|
+
issue(["transcript", index, "end_s"], `lies past the source's ${duration} s`);
|
|
163
|
+
if (index && word.start_s < profile.transcript[index - 1].start_s)
|
|
164
|
+
issue(["transcript", index, "start_s"], "starts before the word before it: words are in order");
|
|
165
|
+
});
|
|
166
|
+
if (profile.hook && profile.hook.end_s > duration)
|
|
167
|
+
issue(["hook", "end_s"], `lies past the source's ${duration} s`);
|
|
168
|
+
const ids = new Set(profile.speakers?.map(speaker => speaker.id) ?? []);
|
|
169
|
+
profile.speakers?.forEach((speaker, index) => {
|
|
170
|
+
if (profile.speakers.findIndex(other => other.id === speaker.id) < index)
|
|
171
|
+
issue(["speakers", index, "id"], "names a speaker twice");
|
|
172
|
+
if (speaker.frames_s.some(t => t >= duration))
|
|
173
|
+
issue(["speakers", index, "frames_s"], `cites a second past the ${duration} s source`);
|
|
174
|
+
});
|
|
175
|
+
profile.segments?.forEach((segment, index) => {
|
|
176
|
+
if (segment.end_s < segment.start_s || segment.end_s > duration)
|
|
177
|
+
issue(["segments", index, "end_s"], "ends before it starts or past the source");
|
|
178
|
+
if (profile.speakers && !ids.has(segment.speaker))
|
|
179
|
+
issue(["segments", index, "speaker"], `${segment.speaker} is not in speakers`);
|
|
180
|
+
if (segment.frames_s.some(t => t >= duration))
|
|
181
|
+
issue(["segments", index, "frames_s"], `cites a second past the ${duration} s source`);
|
|
182
|
+
});
|
|
73
183
|
if (profile.staging) {
|
|
74
184
|
for (const found of stagingIssues(profile.staging, profile.beats, profile.source.duration_s))
|
|
75
185
|
issue(["staging", ...found.path], found.message);
|
|
@@ -81,6 +191,15 @@ export const referenceProfile = z.strictObject({
|
|
|
81
191
|
issue(["beats", index, "end_s"], "ends where or before the beat starts");
|
|
82
192
|
if (beat.end_s > profile.source.duration_s)
|
|
83
193
|
issue(["beats", index, "end_s"], `lies past the source's ${profile.source.duration_s} s`);
|
|
194
|
+
for (const t of [...beat.key_frame_s === undefined ? [] : [beat.key_frame_s], ...beat.frames_s ?? [], ...beat.gaze?.frames_s ?? [],
|
|
195
|
+
...(beat.gestures ?? []).flatMap(gesture => gesture.frames_s)]) {
|
|
196
|
+
if (t >= duration)
|
|
197
|
+
issue(["beats", index, "frames_s"], `second ${t} has no frame in the ${duration} s source`);
|
|
198
|
+
}
|
|
199
|
+
if (beat.speaker && !ids.has(beat.speaker))
|
|
200
|
+
issue(["beats", index, "speaker"], `${beat.speaker} is not in speakers`);
|
|
201
|
+
beat.speakers?.forEach((heard, at) => { if (!ids.has(heard.id))
|
|
202
|
+
issue(["beats", index, "speakers", at, "id"], `${heard.id} is not in speakers`); });
|
|
84
203
|
const before = profile.beats[index - 1];
|
|
85
204
|
if (before && beat.start_frac < before.end_frac)
|
|
86
205
|
issue(["beats", index, "start_frac"], "overlaps the beat before it: beats are ordered and apart");
|
|
@@ -94,10 +213,47 @@ export const referenceProfile = z.strictObject({
|
|
|
94
213
|
if (entry.beat_index >= profile.beats.length)
|
|
95
214
|
issue(["unmapped", index, "beat_index"], `there are ${profile.beats.length} beats`);
|
|
96
215
|
});
|
|
97
|
-
}
|
|
216
|
+
}
|
|
217
|
+
/** The profile's fields but `analysis`, and its checks: the profile as kept with an analysis is built from them where it is written. */
|
|
218
|
+
export const referenceProfileShape = { ...profileHead, ...profileTail };
|
|
219
|
+
export const checkReferenceProfile = checkProfile;
|
|
220
|
+
export const referenceAnalysisWarningsField = analysisWarnings;
|
|
221
|
+
/** The profile an answer carries: `analysis` holds only its warnings. */
|
|
222
|
+
export const referenceProfileAnswer = z.strictObject({ ...profileHead, analysis: z.strictObject(analysisWarnings), ...profileTail }).superRefine(checkProfile);
|
|
223
|
+
/** The profile a client passes back: any other `analysis` field is dropped, so one read before the answer shed them still compiles. */
|
|
224
|
+
export const referenceProfileInput = z.strictObject({ ...profileHead, analysis: z.object(analysisWarnings), ...profileTail }).superRefine(checkProfile);
|
|
98
225
|
/** Readers keep a newer profile whole and need only the gaps it names. */
|
|
99
226
|
export const referenceProfileRead = z.looseObject({ version: z.string(), beats: z.array(z.looseObject({ role: z.string() })).default([]),
|
|
100
227
|
unmapped: z.array(z.looseObject({ what: z.string(), beat_index: z.number(), suggested_substitute: z.string() })).default([]) });
|
|
228
|
+
/** The second of the one-a-second frames that shows a span: the one nearest its middle inside it, else the nearest, within the reel. */
|
|
229
|
+
export function keyFrameSecond(start, end, duration) {
|
|
230
|
+
const lo = Math.ceil(start), hi = Math.floor(end - 1e-6), middle = Math.round((start + end) / 2);
|
|
231
|
+
const t = lo <= hi ? Math.min(hi, Math.max(lo, middle)) : middle;
|
|
232
|
+
return Math.max(0, Math.min(Math.ceil(duration - 1e-6) - 1, t));
|
|
233
|
+
}
|
|
234
|
+
/** The end frame (#989): one frame just before the reel's end, when the last second's frame leaves at least this long unseen after it. */
|
|
235
|
+
export const END_FRAME_GAP_S = 0.3;
|
|
236
|
+
const END_FRAME_BEFORE_S = 0.1;
|
|
237
|
+
/** The end frame's time, a tenth of a second, or null when the last second's frame is close enough to the end. */
|
|
238
|
+
export function endFrameSecond(duration) {
|
|
239
|
+
const last = Math.max(0, Math.ceil(duration - 1e-6) - 1), end = Math.floor((duration - END_FRAME_BEFORE_S) * 10 + 1e-6) / 10;
|
|
240
|
+
return end - last >= END_FRAME_GAP_S - 1e-6 ? end : null;
|
|
241
|
+
}
|
|
242
|
+
/** The first frame at or after `t`: a moment's proof shows it happening, not the second before it; past the last frame, the last. */
|
|
243
|
+
export function frameAtOrAfter(t, duration) {
|
|
244
|
+
const last = Math.max(0, Math.ceil(duration - 1e-6) - 1), next = Math.max(0, Math.ceil(t - 1e-6));
|
|
245
|
+
return next <= last ? next : endFrameSecond(duration) ?? last;
|
|
246
|
+
}
|
|
247
|
+
/** The seconds whose frames lie inside a span, the end frame among them, at most `max`, evenly spread with both ends kept. */
|
|
248
|
+
export function spanFrameSeconds(start, end, duration, max = MAX_BEAT_FRAMES) {
|
|
249
|
+
const lo = Math.max(0, Math.ceil(start)), hi = Math.min(Math.floor(end - 1e-6), Math.ceil(duration - 1e-6) - 1), last = endFrameSecond(duration);
|
|
250
|
+
const all = [...Array.from({ length: Math.max(0, hi - lo + 1) }, (_, i) => lo + i), ...last !== null && last >= start && last < end ? [last] : []];
|
|
251
|
+
if (!all.length)
|
|
252
|
+
return [keyFrameSecond(start, end, duration)];
|
|
253
|
+
if (all.length <= max)
|
|
254
|
+
return all;
|
|
255
|
+
return [...new Set(Array.from({ length: max }, (_, i) => all[Math.round((i * (all.length - 1)) / (max - 1))]))];
|
|
256
|
+
}
|
|
101
257
|
/** What the plan does not reproduce from its reference, one warning per unmapped entry (rule 3, C5). */
|
|
102
258
|
export function referenceProfileWarnings(profile) {
|
|
103
259
|
if (!profile)
|
|
@@ -110,10 +266,24 @@ export function referenceProfileWarnings(profile) {
|
|
|
110
266
|
const DIRECT = {
|
|
111
267
|
...Object.fromEntries(TEMPLATE_KIND_IDS.map(kind => [kind, kind])),
|
|
112
268
|
toggle_checklist: "checklist", before_after_split: "compare", split_screen: "layout_split", particles: "particles",
|
|
269
|
+
// A banner or a comment box (its word to comment) is a short line on a strip, as our tag; a logo card is a brand on a card, as
|
|
270
|
+
// title_card; a price card is a number, as stat. A concept card is a picture with a label, so it maps as product_ui does.
|
|
271
|
+
banner: "tag", comment_box: "tag", logo_card: "title_card", price_card: "stat",
|
|
113
272
|
};
|
|
114
273
|
const SUBSTITUTES = {
|
|
115
274
|
particles: "a stat or title_card on the same words; particles are not drawn",
|
|
116
275
|
};
|
|
276
|
+
/** The analyser's description of an element it called other, read for a kind; quoted on-screen text is left out, so a banner reading
|
|
277
|
+
* 'NEW LOGO' stays a banner. */
|
|
278
|
+
const DESCRIBED = [
|
|
279
|
+
["comment_box", /\bcomments?\b|\b(input|reply|text|message) (box|field|bar)\b/],
|
|
280
|
+
["logo_card", /\blogo\b/],
|
|
281
|
+
["price_card", /\bpric(e|es|ing)\b|\bdiscount\b|% off\b/],
|
|
282
|
+
["concept_card", /\bconcept\b|\bidea card\b|\bmood ?board\b/],
|
|
283
|
+
["banner", /\bbanner\b|\bplate\b|\bribbon\b|\bstrip\b/],
|
|
284
|
+
];
|
|
285
|
+
// A single quote closes only before a non-letter, so an apostrophe inside the quote ('DON'T COMMENT') does not end it.
|
|
286
|
+
const QUOTED = /"[^"]*"|“[^”]*”|(?<![\p{L}\p{N}])['‘].*?['’](?![\p{L}\p{N}])/gu;
|
|
117
287
|
/** An analyser's free-text state change as one of our categories; an unrecognised one is other, never kept as text. */
|
|
118
288
|
export function mapAnalyserStateChange(text) {
|
|
119
289
|
const s = text.trim().toLowerCase();
|
|
@@ -135,17 +305,22 @@ export function mapAnalyserStateChange(text) {
|
|
|
135
305
|
return "value_changes";
|
|
136
306
|
return "other";
|
|
137
307
|
}
|
|
138
|
-
/** The analyser's name for a graphic when it is one we know, else other. */
|
|
139
|
-
export function mapAnalyserSourceKind(text) {
|
|
308
|
+
/** The analyser's name for a graphic when it is one we know, else the kind its description names, else other. */
|
|
309
|
+
export function mapAnalyserSourceKind(text, description = "") {
|
|
140
310
|
const s = text.trim();
|
|
141
|
-
|
|
311
|
+
if (s !== "other" && REFERENCE_SOURCE_KINDS.includes(s))
|
|
312
|
+
return s;
|
|
313
|
+
const plain = description.replace(QUOTED, " ").toLowerCase();
|
|
314
|
+
return DESCRIBED.find(([, pattern]) => pattern.test(plain))?.[0] ?? "other";
|
|
142
315
|
}
|
|
143
316
|
/** Our kind for an analyser's graphic: product UI and screenshots fill the frame as an insert, or sit over the presenter; what we cannot draw
|
|
144
317
|
* carries its substitute. */
|
|
145
318
|
export function mapAnalyserGraphic(kind, position) {
|
|
146
|
-
if (kind === "product_ui" || kind === "screenshot")
|
|
319
|
+
if (kind === "product_ui" || kind === "screenshot" || kind === "concept_card")
|
|
147
320
|
return { kind: position === "full_screen" ? "insert_media" : "overlay_media" };
|
|
148
321
|
const ours = Object.hasOwn(DIRECT, kind) ? DIRECT[kind] : "unmapped";
|
|
149
|
-
return ours === "particles" || ours === "unmapped"
|
|
322
|
+
return ours === "particles" || ours === "unmapped"
|
|
323
|
+
? { kind: ours, unmapped: [ours, kind].filter(key => Object.hasOwn(SUBSTITUTES, key)).map(key => SUBSTITUTES[key])[0] ?? "a title_card with its label, or leave it out" }
|
|
324
|
+
: { kind: ours };
|
|
150
325
|
}
|
|
151
326
|
//# sourceMappingURL=reference-profile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-profile.js","sourceRoot":"","sources":["../src/reference-profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reference-profile.js","sourceRoot":"","sources":["../src/reference-profile.ts"],"names":[],"mappings":"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"}
|