@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
|
@@ -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;
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { CAPTION_EDGES, captionEdgeAt } from "./caption-geometry.js";
|
|
3
|
+
import { faceZone, overlayRect } from "./ugc-layers.js";
|
|
4
|
+
// Free placement of a layer (#973 S1): a box on the frame, on the presenter's face, or next to the face or another layer. A placed layer is pinned.
|
|
5
|
+
export const PLACE_FITS = ["contain", "cover"];
|
|
6
|
+
export const PLACE_SIDES = ["below", "above", "left", "right", "over"];
|
|
7
|
+
export const PLACE_ALIGNS = ["start", "center", "end"];
|
|
8
|
+
/** The gap next to an anchor when none is given, as a share of the frame height. */
|
|
9
|
+
export const PLACE_DEFAULT_GAP = 0.01;
|
|
10
|
+
/** A rect in face units: origin the face centre, unit the face height in pixels, so x and y share one scale. */
|
|
11
|
+
const faceUnits = z.number().min(-20).max(20);
|
|
12
|
+
export const faceUnitsRect = z.strictObject({ left: faceUnits, top: faceUnits, width: z.number().positive().max(20), height: z.number().positive().max(20) });
|
|
13
|
+
const share = z.number().min(-0.5).max(1.5);
|
|
14
|
+
const span = z.number().min(0.02).max(1.5);
|
|
15
|
+
const layerId = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$/);
|
|
16
|
+
const options = {
|
|
17
|
+
fit: z.enum(PLACE_FITS).optional().describe("contain (default): the whole picture inside the box, centred; cover: it fills the box, cut to fit."),
|
|
18
|
+
allow_face: z.literal(true).optional().describe("Cover the presenter's face on purpose; without it a box on the face is refused."),
|
|
19
|
+
};
|
|
20
|
+
export const placeFrame = z.strictObject({ relative_to: z.literal("frame"),
|
|
21
|
+
rect: z.strictObject({ left: share, top: share, width: span, height: span }).describe("In shares of the frame's width and height."), ...options });
|
|
22
|
+
export const placeFace = z.strictObject({ relative_to: z.literal("face"),
|
|
23
|
+
rect: faceUnitsRect.describe("Origin the presenter's face centre, unit the face height, on both axes."), ...options });
|
|
24
|
+
export const placeNextTo = z.strictObject({
|
|
25
|
+
relative_to: z.union([z.enum(["face", "captions"]), z.strictObject({ layer: layerId })])
|
|
26
|
+
.describe("The presenter's face, the captions as drawn (side below or above), or another overlay placed with place."),
|
|
27
|
+
side: z.enum(PLACE_SIDES),
|
|
28
|
+
gap: z.number().min(0).max(0.2).optional().describe("Space to the anchor, as a share of the frame height; default 0.01."),
|
|
29
|
+
align: z.enum(PLACE_ALIGNS).optional().describe("Along the anchor's side; default center."),
|
|
30
|
+
width: z.number().positive().max(4).optional(),
|
|
31
|
+
height: z.number().positive().max(4).optional(),
|
|
32
|
+
size_unit: z.enum(["frame", "face"]).optional().describe("frame (default): shares of the frame's width and height; face: face heights."),
|
|
33
|
+
...options,
|
|
34
|
+
}).refine(item => item.width !== undefined || item.height !== undefined, { message: "pass width, height or both", path: ["width"] });
|
|
35
|
+
/** Where an overlay is drawn instead of a preset position; no rule moves it. */
|
|
36
|
+
export const place = z.union([placeFrame, placeFace, placeNextTo]);
|
|
37
|
+
/** The layer a place is next to, or undefined. */
|
|
38
|
+
export const placeAnchorOf = (item) => "side" in item && typeof item.relative_to === "object" ? item.relative_to.layer : undefined;
|
|
39
|
+
/** Whether a place reads the presenter's face. */
|
|
40
|
+
export const placeReadsFace = (item) => item.relative_to === "face";
|
|
41
|
+
/** Whether a place stands next to the captions, so it follows the page drawn and never moves them. */
|
|
42
|
+
export const placeByCaptions = (item) => item !== undefined && "side" in item && item.relative_to === "captions";
|
|
43
|
+
/** The box a place resolves to, in shares of the frame; it may reach past the frame, which the rails judge. */
|
|
44
|
+
export function resolvePlace(item, ctx) {
|
|
45
|
+
const { width: W, height: H } = ctx.canvas, face = ctx.face;
|
|
46
|
+
const unitW = (face.height * H) / W;
|
|
47
|
+
if (item.relative_to === "frame")
|
|
48
|
+
return { ...item.rect };
|
|
49
|
+
if ("rect" in item) {
|
|
50
|
+
const cx = face.left + face.width / 2, cy = face.top + face.height / 2;
|
|
51
|
+
return { left: cx + item.rect.left * unitW, top: cy + item.rect.top * face.height, width: item.rect.width * unitW, height: item.rect.height * face.height };
|
|
52
|
+
}
|
|
53
|
+
const anchor = typeof item.relative_to === "object" ? ctx.layers?.get(item.relative_to.layer) : item.relative_to === "captions" ? ctx.captions : face;
|
|
54
|
+
if (!anchor)
|
|
55
|
+
throw new Error("place names a layer with no box");
|
|
56
|
+
const byFace = item.size_unit === "face", aspect = ctx.media ? ctx.media.height / ctx.media.width : 1;
|
|
57
|
+
let width = item.width === undefined ? undefined : item.width * (byFace ? unitW : 1);
|
|
58
|
+
let height = item.height === undefined ? undefined : item.height * (byFace ? face.height : 1);
|
|
59
|
+
width ??= ((height ?? 0) * H) / (aspect * W);
|
|
60
|
+
height ??= (width * W * aspect) / H;
|
|
61
|
+
const gapY = item.gap ?? PLACE_DEFAULT_GAP, gapX = (gapY * H) / W;
|
|
62
|
+
const along = (start, length, size) => item.align === "start" ? start : item.align === "end" ? start + length - size : start + (length - size) / 2;
|
|
63
|
+
const centred = { left: along(anchor.left, anchor.width, width), top: along(anchor.top, anchor.height, height) };
|
|
64
|
+
switch (item.side) {
|
|
65
|
+
case "below": return { left: centred.left, top: anchor.top + anchor.height + gapY, width, height };
|
|
66
|
+
case "above": return { left: centred.left, top: anchor.top - gapY - height, width, height };
|
|
67
|
+
case "right": return { left: anchor.left + anchor.width + gapX, top: centred.top, width, height };
|
|
68
|
+
case "left": return { left: anchor.left - gapX - width, top: centred.top, width, height };
|
|
69
|
+
case "over": return { left: anchor.left + (anchor.width - width) / 2, top: anchor.top + (anchor.height - height) / 2, width, height };
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/** The rect a picture takes in its box: the whole box for cover, else the picture's shape fitted and centred. */
|
|
73
|
+
export function fitPlacedRect(box, media, canvas, fit = "contain") {
|
|
74
|
+
if (fit === "cover")
|
|
75
|
+
return box;
|
|
76
|
+
const scale = Math.min((box.width * canvas.width) / media.width, (box.height * canvas.height) / media.height);
|
|
77
|
+
const width = (media.width * scale) / canvas.width, height = (media.height * scale) / canvas.height;
|
|
78
|
+
return { left: box.left + (box.width - width) / 2, top: box.top + (box.height - height) / 2, width, height };
|
|
79
|
+
}
|
|
80
|
+
/** A preset position as a place: it resolves to the footprint the preset reserves, `overlayRect`. */
|
|
81
|
+
export function presetPlace(position, canvas) {
|
|
82
|
+
return { relative_to: "frame", rect: overlayRect(position, canvas) };
|
|
83
|
+
}
|
|
84
|
+
/** 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. */
|
|
85
|
+
export function usualFace(aspectRatio, canvas, framing = "close") {
|
|
86
|
+
const zone = faceZone(aspectRatio, framing), height = (zone.height * 2) / 3, width = (0.75 * height * canvas.height) / canvas.width;
|
|
87
|
+
return { left: zone.left + (zone.width - width) / 2, top: zone.top + (zone.height - height) / 2, width, height };
|
|
88
|
+
}
|
|
89
|
+
/** Captions at a height of their own (#973 S2): pinned, so no overlay moves them. */
|
|
90
|
+
export const captionPlace = z.strictObject({
|
|
91
|
+
relative_to: z.enum(["frame", "face"]),
|
|
92
|
+
y: z.number().min(-20).max(20).describe("frame: a share of the height from the top; face: face heights from the face centre, down positive."),
|
|
93
|
+
edge: z.enum(CAPTION_EDGES).optional().describe("The edge of the caption block at y; default top at or above the middle, bottom below it."),
|
|
94
|
+
max_width: z.number().min(0.3).max(0.95).optional().describe("The widest a caption line may run, as a share of the frame's width."),
|
|
95
|
+
});
|
|
96
|
+
/** The presenter's face size and place in the frame (#973 S2b). */
|
|
97
|
+
export const presenterPlace = z.strictObject({
|
|
98
|
+
face_height: z.number().min(0.08).max(0.6).describe("The face's height as a share of the frame's height."),
|
|
99
|
+
face_centre: z.tuple([z.number().min(0).max(1), z.number().min(0).max(1)]).describe("The face centre [x, y] in shares of the frame."),
|
|
100
|
+
});
|
|
101
|
+
/** 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. */
|
|
102
|
+
export const CLOSE_VIEW_FACE_HEIGHT = 0.275;
|
|
103
|
+
/** 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. */
|
|
104
|
+
export const presenterPlaceWantsWide = (item) => item !== undefined && item.face_height < CLOSE_VIEW_FACE_HEIGHT;
|
|
105
|
+
/** The face a presenter_place asks for, 3:4 in pixels as the usual face. */
|
|
106
|
+
export function presenterPlaceFace(item, canvas) {
|
|
107
|
+
const height = item.face_height, width = (0.75 * height * canvas.height) / canvas.width;
|
|
108
|
+
return { left: item.face_centre[0] - width / 2, top: item.face_centre[1] - height / 2, width, height };
|
|
109
|
+
}
|
|
110
|
+
/** The face admission plans by: the one presenter_place asks for, else the usual one of the framing. */
|
|
111
|
+
export const plannedFace = (aspectRatio, canvas, framing, item) => item ? presenterPlaceFace(item, canvas) : usualFace(aspectRatio, canvas, framing);
|
|
112
|
+
/** A caption place's height in percent of the frame and the edge it anchors by, on the face given. */
|
|
113
|
+
export function captionPlaceAt(item, face) {
|
|
114
|
+
const share = item.relative_to === "frame" ? item.y : face.top + face.height / 2 + item.y * face.height, vertical = Math.round(1e6 * share) / 1e4;
|
|
115
|
+
return { vertical, edge: captionEdgeAt(vertical, item.edge) };
|
|
116
|
+
}
|
|
117
|
+
/** The area two rects share, in squared shares of the frame. */
|
|
118
|
+
export const sharedArea = (a, b) => Math.max(0, Math.min(a.left + a.width, b.left + b.width) - Math.max(a.left, b.left)) *
|
|
119
|
+
Math.max(0, Math.min(a.top + a.height, b.top + b.height) - Math.max(a.top, b.top));
|
|
120
|
+
//# sourceMappingURL=scene-place.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-place.js","sourceRoot":"","sources":["../src/scene-place.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export declare function quoteOccurrences(tokens: readonly string[], quote: strin
|
|
|
53
53
|
}>;
|
|
54
54
|
export declare function planSemanticInserts(script: string, instructions: readonly SemanticInsertInstruction[]): SemanticInsertPlan;
|
|
55
55
|
/** The number of PAID actor shots, a pure function of word indexes, so input is refused */
|
|
56
|
-
/** before speech synthesis rather than in the
|
|
56
|
+
/** before speech synthesis rather than in the run after payment. */
|
|
57
57
|
export declare function countActorShots(plan: SemanticInsertPlan): number;
|
|
58
58
|
export declare function resolveSemanticInserts(input: {
|
|
59
59
|
plan: SemanticInsertPlan;
|
package/dist/semantic-inserts.js
CHANGED
|
@@ -89,7 +89,7 @@ export function planSemanticInserts(script, instructions) {
|
|
|
89
89
|
return { sourceTokens, inserts: orderedAnchors(plan) };
|
|
90
90
|
}
|
|
91
91
|
/** The number of PAID actor shots, a pure function of word indexes, so input is refused */
|
|
92
|
-
/** before speech synthesis rather than in the
|
|
92
|
+
/** before speech synthesis rather than in the run after payment. */
|
|
93
93
|
export function countActorShots(plan) {
|
|
94
94
|
const anchors = orderedAnchors(plan);
|
|
95
95
|
if (anchors.length === 0)
|
|
@@ -134,7 +134,7 @@ export function resolveSemanticInserts(input) {
|
|
|
134
134
|
let cursor = 0;
|
|
135
135
|
let rounded = Math.abs(totalFrames - durationSec * fps) > 1e-8;
|
|
136
136
|
for (const anchor of anchors) {
|
|
137
|
-
// A pause belongs to
|
|
137
|
+
// A pause belongs to whoever covers the preceding word: the window ends at the START of
|
|
138
138
|
// the first uncovered word, or the gap would become a paid sliver.
|
|
139
139
|
const cover = coverWordOf(anchor);
|
|
140
140
|
const head = anchor.startWord === 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-inserts.js","sourceRoot":"","sources":["../src/semantic-inserts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic-inserts.js","sourceRoot":"","sources":["../src/semantic-inserts.ts"],"names":[],"mappings":"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"}
|