@clipwright/core 0.36.0 → 0.37.1
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/dist/actors.d.ts +8 -0
- package/dist/actors.js +2 -0
- package/dist/actors.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 +997 -35
- package/dist/contract-dispositions.js +25 -5
- package/dist/contract-dispositions.js.map +1 -1
- package/dist/contracts/v1/workflow-brief.d.ts +2024 -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 +2154 -72
- package/dist/contracts/v1/workflow-client.d.ts +1207 -70
- package/dist/contracts/v1/workflow-plan.d.ts +3234 -111
- package/dist/edit-billing.d.ts +1 -0
- package/dist/edit-billing.js +2 -0
- package/dist/edit-billing.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.js +1 -1
- package/dist/edit-long-form.js.map +1 -1
- package/dist/edit-revision.d.ts +9 -0
- 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/errors.d.ts +1 -0
- package/dist/faceless-media-record.d.ts +27 -0
- package/dist/faceless-media-record.js +15 -1
- package/dist/faceless-media-record.js.map +1 -1
- package/dist/faceless-public.d.ts +107 -0
- package/dist/faceless-public.js +34 -1
- package/dist/faceless-public.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/long-form-revision.d.ts +8 -0
- package/dist/openapi.js +2 -2
- package/dist/openapi.js.map +1 -1
- package/dist/presenter-beats.d.ts +1 -1
- package/dist/reference-analysis.d.ts +436 -75
- package/dist/reference-analysis.js +149 -28
- 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-profile.d.ts +2352 -36
- package/dist/reference-profile.js +138 -10
- package/dist/reference-profile.js.map +1 -1
- package/dist/reference-staging.d.ts +59 -57
- package/dist/reference-staging.js +6 -5
- package/dist/reference-staging.js.map +1 -1
- package/dist/resolved-timeline.d.ts +199 -2
- package/dist/resolved-timeline.js +17 -5
- package/dist/resolved-timeline.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/skills.d.ts +4680 -22
- package/dist/skills.js +150 -17
- package/dist/skills.js.map +1 -1
- package/dist/templates/index.d.ts +14 -4
- package/dist/templates/index.js +49 -5
- package/dist/templates/index.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/voice-admission.d.ts +947 -2
- package/dist/workflows/methods/faceless-explainer.d.ts +599 -13
- package/dist/workflows/methods/kinetic-launch.d.ts +599 -13
- package/dist/workflows/methods/product-image-story.d.ts +599 -13
- package/dist/workflows/methods/reference-remake.d.ts +599 -13
- package/dist/workflows/methods/shared.d.ts +599 -13
- package/dist/workflows/methods/ugc-faq-answer.d.ts +599 -13
- package/dist/workflows/methods/ugc-product-intro.d.ts +599 -13
- package/dist/workflows/methods/website-proof-demo.d.ts +599 -13
- package/dist/workflows/reference-remake.d.ts +131 -35
- package/dist/workflows/reference-remake.js +179 -18
- package/dist/workflows/reference-remake.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ugc-interview.js","sourceRoot":"","sources":["../src/ugc-interview.ts"],"names":[],"mappings":"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"}
|
package/dist/ugc-layers.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { CAPTION_POSITION_VERTICAL } from "./caption-geometry.js";
|
|
2
|
+
import { type CaptionPlace, type Place, type PresenterPlace } from "./scene-place.js";
|
|
1
3
|
import type { WordTiming } from "./tts-backend.js";
|
|
2
4
|
export declare const OVERLAY_POSITIONS: readonly ["top_left", "top_right", "bottom_left", "bottom_right", "top", "bottom"];
|
|
3
5
|
export type OverlayPosition = (typeof OVERLAY_POSITIONS)[number];
|
|
4
|
-
export declare const LAYER_ENTERS: readonly ["cut", "fade", "slide", "tilt_in"];
|
|
6
|
+
export declare const LAYER_ENTERS: readonly ["cut", "fade", "slide", "tilt_in", "pop", "scale_up"];
|
|
5
7
|
export type LayerEnter = (typeof LAYER_ENTERS)[number];
|
|
8
|
+
/** How an overlay leaves (#973 S3); absent is a cut, as every overlay before it. */
|
|
9
|
+
export declare const LAYER_EXITS: readonly ["cut", "fade", "pop_out", "slide"];
|
|
10
|
+
export type LayerExit = (typeof LAYER_EXITS)[number];
|
|
11
|
+
/** The most an overlay's appearance moves off its first word, in seconds. */
|
|
12
|
+
export declare const MAX_ENTER_OFFSET_S = 0.5;
|
|
6
13
|
export declare const LAYOUT_WINDOW_KINDS: readonly ["split", "card"];
|
|
7
14
|
export type LayoutWindowKind = (typeof LAYOUT_WINDOW_KINDS)[number];
|
|
8
15
|
export declare const INSERT_TRANSITIONS: readonly ["cut", "wipe", "flash", "zoom"];
|
|
@@ -57,24 +64,99 @@ export interface LayerRefusal {
|
|
|
57
64
|
path: (string | number)[];
|
|
58
65
|
message: string;
|
|
59
66
|
}
|
|
67
|
+
/** An overlay at a preset position or at a place: exactly one of the two. */
|
|
68
|
+
/** A template drawn over the presenter carries `own`, the rect its kind draws (#973 S4): its box without a place, its shape scaled whole with one. */
|
|
69
|
+
export type PlaceableOverlay = AnchoredItem & {
|
|
70
|
+
position?: OverlayPosition | undefined;
|
|
71
|
+
place?: Place | undefined;
|
|
72
|
+
own?: LayerRect | undefined;
|
|
73
|
+
};
|
|
74
|
+
/** The templates a scene adds to the overlays for one framing; templates/index.ts gives them, which this module cannot import. */
|
|
75
|
+
export type SceneExtras = (framing: PresenterFraming) => readonly PlaceableOverlay[];
|
|
60
76
|
export interface LayerCheckInput {
|
|
61
77
|
script: string;
|
|
62
78
|
aspect_ratio?: string | undefined;
|
|
79
|
+
presenter_framing?: PresenterFraming | undefined;
|
|
80
|
+
actor_id?: string | undefined;
|
|
63
81
|
inserts?: readonly AnchoredItem[] | undefined;
|
|
64
|
-
overlays?: readonly
|
|
65
|
-
position: OverlayPosition;
|
|
66
|
-
})[] | undefined;
|
|
82
|
+
overlays?: readonly PlaceableOverlay[] | undefined;
|
|
67
83
|
layout_windows?: readonly (AnchoredItem & {
|
|
68
84
|
layout: LayoutWindowKind;
|
|
69
85
|
})[] | undefined;
|
|
86
|
+
captions?: boolean | undefined;
|
|
87
|
+
caption_style?: string | undefined;
|
|
88
|
+
caption_position?: keyof typeof CAPTION_POSITION_VERTICAL | undefined;
|
|
89
|
+
caption_place?: CaptionPlace | undefined;
|
|
90
|
+
presenter_place?: PresenterPlace | undefined;
|
|
91
|
+
}
|
|
92
|
+
/** What a placed overlay may stand by at admission: the planned face and, with captions, the tallest page's box where they sit (#973 S2). */
|
|
93
|
+
export interface AdmissionScene {
|
|
94
|
+
face: LayerRect;
|
|
95
|
+
captions?: LayerRect | undefined;
|
|
70
96
|
}
|
|
71
|
-
|
|
72
|
-
|
|
97
|
+
export declare function admissionScene(input: Pick<LayerCheckInput, "captions" | "caption_style" | "caption_position" | "caption_place" | "presenter_place">, aspectRatio: string, framing: PresenterFraming): AdmissionScene;
|
|
98
|
+
/** The sides a place may take next to the captions: a page grows sideways with its words. */
|
|
99
|
+
export declare const CAPTION_SIDES: readonly string[];
|
|
100
|
+
/** The framings an admitted run may render: a wide request may render close when the actor has no wide view; wide needs an actor and 9:16. */
|
|
101
|
+
export declare function admissionFramings(input: {
|
|
102
|
+
aspect_ratio?: string | undefined;
|
|
103
|
+
presenter_framing?: unknown;
|
|
104
|
+
actor_id?: unknown;
|
|
105
|
+
}): PresenterFraming[];
|
|
106
|
+
/** How many layers a place leans on through `{ layer }`, Infinity in a loop or past a missing or preset anchor; a template is an anchor as drawn. */
|
|
107
|
+
export declare function placeDepth(overlays: readonly PlaceableOverlay[], id: string, seen?: ReadonlySet<string>): number;
|
|
108
|
+
/** A template's own rect in pixels: the shape its place scales it to. */
|
|
109
|
+
export declare const ownPixels: (own: LayerRect, canvas: {
|
|
110
|
+
width: number;
|
|
111
|
+
height: number;
|
|
112
|
+
}) => {
|
|
113
|
+
width: number;
|
|
114
|
+
height: number;
|
|
115
|
+
};
|
|
116
|
+
/** Each layer's box at admission, by id: a preset's footprint, a template's own rect, a place resolved on the usual face (a template's shape scaled
|
|
117
|
+
* whole into it); a place on a broken chain has none. */
|
|
118
|
+
export declare function overlayFootprints(overlays: readonly PlaceableOverlay[], aspectRatio: string, framing: PresenterFraming, scene?: AdmissionScene): Map<string, LayerRect>;
|
|
119
|
+
/** Over this share of the face's box a placed overlay covers the face; under it, it touches the edge (#973 S1). */
|
|
120
|
+
export declare const FACE_COVER_SHARE = 0.1;
|
|
121
|
+
/** Under this share of the frame's short side an overlay would not read. */
|
|
122
|
+
export declare const OVERLAY_MIN_SIDE = 0.03;
|
|
123
|
+
/** Over this share of the frame an overlay hides a presenter who is still billed. */
|
|
124
|
+
export declare const OVERLAY_COVERED_PRESENTER = 0.6;
|
|
125
|
+
/** Admission warnings for placed overlays and templates: a box at the face's edge, and a box that hides most of a billed presenter. */
|
|
126
|
+
export declare function placeWarnings(input: {
|
|
127
|
+
overlays?: unknown;
|
|
128
|
+
aspect_ratio?: unknown;
|
|
129
|
+
presenter_framing?: unknown;
|
|
130
|
+
actor_id?: unknown;
|
|
131
|
+
}, extras?: SceneExtras): string[];
|
|
132
|
+
/** The refusals a placed overlay or template meets on its anchor and on its box in every framing, at the path `at` names (#973 S1, S4). */
|
|
133
|
+
export declare function placedRefusals(what: "overlay" | "template", item: PlaceableOverlay & {
|
|
134
|
+
place: Place;
|
|
135
|
+
}, range: WordRange, at: (...rest: string[]) => (string | number)[], scene: {
|
|
136
|
+
items: readonly PlaceableOverlay[];
|
|
137
|
+
tokens: readonly string[];
|
|
138
|
+
footprints: readonly {
|
|
139
|
+
boxes: ReadonlyMap<string, LayerRect>;
|
|
140
|
+
face: LayerRect;
|
|
141
|
+
}[];
|
|
142
|
+
canvas: {
|
|
143
|
+
width: number;
|
|
144
|
+
height: number;
|
|
145
|
+
};
|
|
146
|
+
}): LayerRefusal[];
|
|
147
|
+
/** Every refusal of overlays and layout windows against the script, named by path; empty when they render. `extras` adds the run's templates. */
|
|
148
|
+
export declare function layerRefusals(input: LayerCheckInput, extras?: SceneExtras): LayerRefusal[];
|
|
73
149
|
export interface LayerFrames {
|
|
74
150
|
id: string;
|
|
75
151
|
startFrame: number;
|
|
76
152
|
endFrame: number;
|
|
77
153
|
}
|
|
154
|
+
/** Each overlay's first frame moved by its enter_offset_s (#973 S3), inside its own frames and the video. Overlays that left on or before its first */
|
|
155
|
+
/** word and still show then leave as it enters, so no more overlays share the screen than their words allow. */
|
|
156
|
+
export declare function offsetOverlayFrames(frames: readonly LayerFrames[], overlays: readonly {
|
|
157
|
+
id: string;
|
|
158
|
+
enter_offset_s?: number | undefined;
|
|
159
|
+
}[], fps: number, warnings: string[]): LayerFrames[];
|
|
78
160
|
/** Frames of each word range on the run's narration, by the rule inserts follow: a range ends where its first uncovered word starts. */
|
|
79
161
|
export declare function resolveLayerFrames(input: {
|
|
80
162
|
tokens: readonly string[];
|
package/dist/ugc-layers.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
import { CAPTION_POSITION_VERTICAL, captionBandBox } from "./caption-geometry.js";
|
|
2
|
+
import { captionPlaceAt, fitPlacedRect, placeAnchorOf, placeByCaptions, plannedFace, resolvePlace, sharedArea, usualFace } from "./scene-place.js";
|
|
1
3
|
import { lexicalTokens, quoteOccurrences } from "./semantic-inserts.js";
|
|
2
4
|
// Overlays and layout windows of a long-form `make_ugc` run (#778 S2b): drawn over the actor slots, never planned as inserts.
|
|
3
5
|
export const OVERLAY_POSITIONS = ["top_left", "top_right", "bottom_left", "bottom_right", "top", "bottom"];
|
|
4
|
-
export const LAYER_ENTERS = ["cut", "fade", "slide", "tilt_in"];
|
|
6
|
+
export const LAYER_ENTERS = ["cut", "fade", "slide", "tilt_in", "pop", "scale_up"];
|
|
7
|
+
/** How an overlay leaves (#973 S3); absent is a cut, as every overlay before it. */
|
|
8
|
+
export const LAYER_EXITS = ["cut", "fade", "pop_out", "slide"];
|
|
9
|
+
/** The most an overlay's appearance moves off its first word, in seconds. */
|
|
10
|
+
export const MAX_ENTER_OFFSET_S = 0.5;
|
|
5
11
|
export const LAYOUT_WINDOW_KINDS = ["split", "card"];
|
|
6
12
|
export const INSERT_TRANSITIONS = ["cut", "wipe", "flash", "zoom"];
|
|
7
13
|
export const MAX_OVERLAYS = 10;
|
|
@@ -66,8 +72,128 @@ export function layerWordRange(tokens, item) {
|
|
|
66
72
|
}
|
|
67
73
|
const overlaps = (a, b) => a.startWord < b.coverWord && b.startWord < a.coverWord;
|
|
68
74
|
const coveredBy = (range, cover) => Array.from({ length: range.coverWord - range.startWord }, (_, offset) => range.startWord + offset).every(word => cover.some(other => word >= other.startWord && word < other.coverWord));
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
export function admissionScene(input, aspectRatio, framing) {
|
|
76
|
+
const canvas = frameCanvasOf(aspectRatio), face = plannedFace(aspectRatio, canvas, framing, input.presenter_place);
|
|
77
|
+
if (input.captions !== true)
|
|
78
|
+
return { face };
|
|
79
|
+
const at = input.caption_place ? { ...captionPlaceAt(input.caption_place, face), maxWidth: input.caption_place.max_width }
|
|
80
|
+
: { vertical: input.caption_position ? CAPTION_POSITION_VERTICAL[input.caption_position] : undefined };
|
|
81
|
+
return { face, captions: captionBandBox(input.caption_style, aspectRatio, canvas, at) };
|
|
82
|
+
}
|
|
83
|
+
/** The sides a place may take next to the captions: a page grows sideways with its words. */
|
|
84
|
+
export const CAPTION_SIDES = ["below", "above"];
|
|
85
|
+
/** The framings an admitted run may render: a wide request may render close when the actor has no wide view; wide needs an actor and 9:16. */
|
|
86
|
+
export function admissionFramings(input) {
|
|
87
|
+
return input.presenter_framing === "wide" && input.actor_id !== undefined && (input.aspect_ratio ?? "9:16") === "9:16" ? ["close", "wide"] : ["close"];
|
|
88
|
+
}
|
|
89
|
+
/** How many layers a place leans on through `{ layer }`, Infinity in a loop or past a missing or preset anchor; a template is an anchor as drawn. */
|
|
90
|
+
export function placeDepth(overlays, id, seen = new Set()) {
|
|
91
|
+
const item = overlays.find(other => other.id === id);
|
|
92
|
+
const anchor = item?.place ? placeAnchorOf(item.place) : undefined;
|
|
93
|
+
if (!item?.place)
|
|
94
|
+
return item ? 0 : Infinity;
|
|
95
|
+
if (anchor === undefined)
|
|
96
|
+
return 0;
|
|
97
|
+
const target = overlays.find(other => other.id === anchor);
|
|
98
|
+
return seen.has(anchor) || !(target?.place || target?.own) ? Infinity : 1 + placeDepth(overlays, anchor, new Set([...seen, id]));
|
|
99
|
+
}
|
|
100
|
+
/** A template's own rect in pixels: the shape its place scales it to. */
|
|
101
|
+
export const ownPixels = (own, canvas) => ({ width: own.width * canvas.width, height: own.height * canvas.height });
|
|
102
|
+
/** Each layer's box at admission, by id: a preset's footprint, a template's own rect, a place resolved on the usual face (a template's shape scaled
|
|
103
|
+
* whole into it); a place on a broken chain has none. */
|
|
104
|
+
export function overlayFootprints(overlays, aspectRatio, framing, scene) {
|
|
105
|
+
const canvas = frameCanvasOf(aspectRatio), face = scene?.face ?? usualFace(aspectRatio, canvas, framing), boxes = new Map();
|
|
106
|
+
const resolve = (item) => {
|
|
107
|
+
if (boxes.has(item.id))
|
|
108
|
+
return boxes.get(item.id);
|
|
109
|
+
if (!item.place) {
|
|
110
|
+
const box = item.own ?? (item.position && overlayRect(item.position, canvas));
|
|
111
|
+
if (box)
|
|
112
|
+
boxes.set(item.id, box);
|
|
113
|
+
return box;
|
|
114
|
+
}
|
|
115
|
+
if (placeDepth(overlays, item.id) > 2)
|
|
116
|
+
return undefined;
|
|
117
|
+
const anchor = placeAnchorOf(item.place), target = overlays.find(other => other.id === anchor);
|
|
118
|
+
if (anchor !== undefined && (!target || placeByCaptions(target.place) || !resolve(target)))
|
|
119
|
+
return undefined;
|
|
120
|
+
if (placeByCaptions(item.place) && (!scene?.captions || !CAPTION_SIDES.includes(item.place.side)))
|
|
121
|
+
return undefined;
|
|
122
|
+
const media = item.own && ownPixels(item.own, canvas), box = resolvePlace(item.place, { canvas, face, layers: boxes, captions: scene?.captions, media });
|
|
123
|
+
boxes.set(item.id, media ? fitPlacedRect(box, media, canvas) : box);
|
|
124
|
+
return boxes.get(item.id);
|
|
125
|
+
};
|
|
126
|
+
for (const item of overlays)
|
|
127
|
+
resolve(item);
|
|
128
|
+
return boxes;
|
|
129
|
+
}
|
|
130
|
+
const FRAME = { left: 0, top: 0, width: 1, height: 1 };
|
|
131
|
+
/** Over this share of the face's box a placed overlay covers the face; under it, it touches the edge (#973 S1). */
|
|
132
|
+
export const FACE_COVER_SHARE = 0.1;
|
|
133
|
+
/** Under this share of the frame's short side an overlay would not read. */
|
|
134
|
+
export const OVERLAY_MIN_SIDE = 0.03;
|
|
135
|
+
/** Over this share of the frame an overlay hides a presenter who is still billed. */
|
|
136
|
+
export const OVERLAY_COVERED_PRESENTER = 0.6;
|
|
137
|
+
/** Admission warnings for placed overlays and templates: a box at the face's edge, and a box that hides most of a billed presenter. */
|
|
138
|
+
export function placeWarnings(input, extras) {
|
|
139
|
+
const overlays = Array.isArray(input.overlays) ? input.overlays : [];
|
|
140
|
+
const aspect = typeof input.aspect_ratio === "string" ? input.aspect_ratio : "9:16", warnings = new Set();
|
|
141
|
+
for (const framing of admissionFramings({ ...input, aspect_ratio: aspect })) {
|
|
142
|
+
const items = [...overlays, ...extras?.(framing) ?? []];
|
|
143
|
+
if (!items.some(item => item.place))
|
|
144
|
+
continue;
|
|
145
|
+
const scene = admissionScene(input, aspect, framing), boxes = overlayFootprints(items, aspect, framing, scene), face = scene.face;
|
|
146
|
+
for (const item of items) {
|
|
147
|
+
const box = boxes.get(item.id), what = `${item.own ? "template" : "overlay"} "${item.id}"`;
|
|
148
|
+
if (!item.place || !box)
|
|
149
|
+
continue;
|
|
150
|
+
const onFace = sharedArea(box, face) / (face.width * face.height), shown = sharedArea(box, FRAME);
|
|
151
|
+
if (item.place.allow_face !== true && onFace > 0 && onFace <= FACE_COVER_SHARE) {
|
|
152
|
+
warnings.add(`${what} may touch the presenter's face at its edge; it is drawn where it was placed`);
|
|
153
|
+
}
|
|
154
|
+
if (shown > OVERLAY_COVERED_PRESENTER)
|
|
155
|
+
warnings.add(`${what} covers ${Math.round(shown * 100)}% of the frame while the presenter under it ` +
|
|
156
|
+
"is still billed; an insert replaces the presenter and is not billed as presenter time");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return [...warnings];
|
|
160
|
+
}
|
|
161
|
+
/** The refusals a placed overlay or template meets on its anchor and on its box in every framing, at the path `at` names (#973 S1, S4). */
|
|
162
|
+
export function placedRefusals(what, item, range, at, scene) {
|
|
163
|
+
const refusals = [], { items, canvas } = scene, named = `${what} "${item.id}"`;
|
|
164
|
+
const anchor = placeAnchorOf(item.place), target = anchor === undefined ? undefined : items.find(other => other.id === anchor);
|
|
165
|
+
if (anchor !== undefined) {
|
|
166
|
+
const why = !target ? `"${anchor}", which is not an overlay or template of this run`
|
|
167
|
+
: !target.place && !target.own ? `"${anchor}", which has a position: place it next to an overlay that has place`
|
|
168
|
+
: placeByCaptions(target.place) ? `"${anchor}", which follows the captions: place it relative_to captions too`
|
|
169
|
+
: placeDepth(items, item.id) > 2 ? "a chain of more than 2 overlays or a loop: anchor it to the face, the frame or an overlay placed there" : undefined;
|
|
170
|
+
const span = target && layerWordRange(scene.tokens, target);
|
|
171
|
+
if (why)
|
|
172
|
+
refusals.push({ path: at("relative_to"), message: `${named} is placed next to ${why}` });
|
|
173
|
+
else if (typeof span === "object" && (span.startWord > range.startWord || span.coverWord < range.coverWord)) {
|
|
174
|
+
refusals.push({ path: at("relative_to"), message: `"${anchor}" is not on screen for all of ${what} "${item.id}"'s words` });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const messages = new Map();
|
|
178
|
+
for (const { boxes, face } of scene.footprints) {
|
|
179
|
+
const box = boxes.get(item.id);
|
|
180
|
+
if (!box)
|
|
181
|
+
continue;
|
|
182
|
+
if (sharedArea(box, FRAME) < box.width * box.height / 2)
|
|
183
|
+
messages.set(`less than half of ${named} is inside the frame`, at(...("rect" in item.place ? ["rect"] : [])));
|
|
184
|
+
if (Math.min(box.width * canvas.width, box.height * canvas.height) < OVERLAY_MIN_SIDE * Math.min(canvas.width, canvas.height)) {
|
|
185
|
+
messages.set(`${named} is smaller than 3% of the frame's short side: it would not read`, at());
|
|
186
|
+
}
|
|
187
|
+
if (item.place.allow_face !== true && sharedArea(box, face) > FACE_COVER_SHARE * face.width * face.height) {
|
|
188
|
+
messages.set(`${named} covers the presenter's face; move it, or pass allow_face: true to cover it on purpose`, at());
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
for (const [message, path] of messages)
|
|
192
|
+
refusals.push({ path, message });
|
|
193
|
+
return refusals;
|
|
194
|
+
}
|
|
195
|
+
/** Every refusal of overlays and layout windows against the script, named by path; empty when they render. `extras` adds the run's templates. */
|
|
196
|
+
export function layerRefusals(input, extras) {
|
|
71
197
|
const refusals = [];
|
|
72
198
|
const tokens = lexicalTokens(input.script);
|
|
73
199
|
const canvas = frameCanvasOf(input.aspect_ratio ?? "9:16");
|
|
@@ -105,17 +231,55 @@ export function layerRefusals(input) {
|
|
|
105
231
|
refusals.push({ path: ["layout_windows", layout.index], message: `layout window "${layout.item.id}" overlaps insert "${insert.item.id}": a window reframes the presenter, who is not on screen during a full-frame insert` });
|
|
106
232
|
}
|
|
107
233
|
}
|
|
234
|
+
const aspect = input.aspect_ratio ?? "9:16", all = input.overlays ?? [];
|
|
235
|
+
const footprints = admissionFramings(input).map(framing => {
|
|
236
|
+
const scene = admissionScene(input, aspect, framing), items = [...all, ...extras?.(framing) ?? []];
|
|
237
|
+
return { items, boxes: overlayFootprints(items, aspect, framing, scene), face: scene.face, captions: scene.captions };
|
|
238
|
+
});
|
|
239
|
+
for (const overlay of overlays) {
|
|
240
|
+
const { item, index } = overlay, at = (...rest) => ["overlays", index, "place", ...rest];
|
|
241
|
+
// Captions placed by caption_place never move, so an overlay that meets them is refused unless it stands by them (#973 S2).
|
|
242
|
+
if (input.caption_place && !placeByCaptions(item.place) && footprints.some(({ boxes, captions }) => {
|
|
243
|
+
const box = boxes.get(item.id);
|
|
244
|
+
return box !== undefined && captions !== undefined && rectsOverlap(box, captions);
|
|
245
|
+
}))
|
|
246
|
+
refusals.push({ path: ["overlays", index, item.place ? "place" : "position"], message: `overlay "${item.id}" meets the captions placed by ` +
|
|
247
|
+
"caption_place while both show; captions placed this way do not move — place it relative_to captions, or move it" });
|
|
248
|
+
if (!item.place)
|
|
249
|
+
continue;
|
|
250
|
+
if (placeByCaptions(item.place)) {
|
|
251
|
+
if (input.captions !== true)
|
|
252
|
+
refusals.push({ path: at("relative_to"), message: `overlay "${item.id}" is placed next to the captions: pass captions: true` });
|
|
253
|
+
else if (!CAPTION_SIDES.includes(item.place.side))
|
|
254
|
+
refusals.push({ path: at("side"), message: `overlay "${item.id}" takes side ${item.place.side} ` +
|
|
255
|
+
"of the captions, whose width follows their words: next to the captions, use side below or above" });
|
|
256
|
+
}
|
|
257
|
+
refusals.push(...placedRefusals("overlay", { ...item, place: item.place }, overlay.range, at, { items: footprints[0].items, tokens, footprints, canvas }));
|
|
258
|
+
}
|
|
108
259
|
for (const [at, overlay] of overlays.entries()) {
|
|
109
260
|
const under = inserts.filter(other => overlaps(other.range, overlay.range));
|
|
110
261
|
if (under.length && coveredBy(overlay.range, under.map(other => other.range))) {
|
|
111
262
|
refusals.push({ path: ["overlays", overlay.index], message: `overlay "${overlay.item.id}" lies wholly under insert "${under[0].item.id}": an overlay draws over the presenter, who is not on screen during a full-frame insert` });
|
|
112
263
|
}
|
|
113
264
|
const together = overlays.slice(0, at).filter(other => overlaps(other.range, overlay.range));
|
|
114
|
-
const
|
|
115
|
-
|
|
265
|
+
const preset = (item) => item.place === undefined && item.position !== undefined;
|
|
266
|
+
// A place over its anchor is drawn on it by asking, so the pair is no clash.
|
|
267
|
+
const over = (a, b) => a.place !== undefined && "side" in a.place && a.place.side === "over" && placeAnchorOf(a.place) === b.id;
|
|
268
|
+
const clash = together.find(other => preset(other.item) && preset(overlay.item)
|
|
269
|
+
? rectsOverlap(overlayRect(other.item.position, canvas), overlayRect(overlay.item.position, canvas))
|
|
270
|
+
: !over(other.item, overlay.item) && !over(overlay.item, other.item) && footprints.some(({ boxes }) => {
|
|
271
|
+
const a = boxes.get(other.item.id), b = boxes.get(overlay.item.id);
|
|
272
|
+
return a !== undefined && b !== undefined && rectsOverlap(a, b);
|
|
273
|
+
}));
|
|
274
|
+
if (clash && preset(clash.item) && preset(overlay.item)) {
|
|
116
275
|
refusals.push({ path: ["overlays", overlay.index, "position"], message: `overlay "${overlay.item.id}" (${overlay.item.position}) shares the screen with overlay "${clash.item.id}" (${clash.item.position}) at the same time: overlays on screen together need different positions` });
|
|
117
276
|
continue;
|
|
118
277
|
}
|
|
278
|
+
if (clash) {
|
|
279
|
+
refusals.push({ path: ["overlays", overlay.index, overlay.item.place ? "place" : "position"],
|
|
280
|
+
message: `overlay "${overlay.item.id}" and overlay "${clash.item.id}" share the screen on overlapping boxes at the same time` });
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
119
283
|
const crowd = together.flatMap((a, i) => together.slice(i + 1).filter(b => Math.max(a.range.startWord, b.range.startWord, overlay.range.startWord) <
|
|
120
284
|
Math.min(a.range.coverWord, b.range.coverWord, overlay.range.coverWord)).map(b => [a, b]))[0];
|
|
121
285
|
if (crowd) {
|
|
@@ -124,6 +288,30 @@ export function layerRefusals(input) {
|
|
|
124
288
|
}
|
|
125
289
|
return refusals;
|
|
126
290
|
}
|
|
291
|
+
/** Each overlay's first frame moved by its enter_offset_s (#973 S3), inside its own frames and the video. Overlays that left on or before its first */
|
|
292
|
+
/** word and still show then leave as it enters, so no more overlays share the screen than their words allow. */
|
|
293
|
+
export function offsetOverlayFrames(frames, overlays, fps, warnings) {
|
|
294
|
+
const out = frames.map(entry => ({ ...entry })), byId = new Map(out.map(entry => [entry.id, entry]));
|
|
295
|
+
const word = new Map(out.map(entry => [entry.id, entry.startFrame])), ids = new Set(overlays.map(item => item.id));
|
|
296
|
+
for (const item of [...overlays].sort((a, b) => (word.get(a.id) ?? 0) - (word.get(b.id) ?? 0))) {
|
|
297
|
+
const entry = byId.get(item.id), offset = item.enter_offset_s;
|
|
298
|
+
if (!entry || !offset)
|
|
299
|
+
continue;
|
|
300
|
+
const asked = Math.round(word.get(item.id) + offset * fps), at = Math.min(entry.endFrame - 1, Math.max(0, asked));
|
|
301
|
+
if (at !== asked)
|
|
302
|
+
warnings.push(`overlay "${item.id}" appears ${((at - word.get(item.id)) / fps).toFixed(2)} s from its first word, not ` +
|
|
303
|
+
`${offset} s: ${asked < 0 ? "the video starts" : "its words end"} there`);
|
|
304
|
+
entry.startFrame = at;
|
|
305
|
+
for (const other of out) {
|
|
306
|
+
if (other === entry || !ids.has(other.id) || other.endFrame > word.get(item.id) || other.endFrame <= at)
|
|
307
|
+
continue;
|
|
308
|
+
const end = Math.max(other.startFrame + 1, at);
|
|
309
|
+
warnings.push(`overlay "${other.id}" leaves ${((other.endFrame - end) / fps).toFixed(2)} s early: overlay "${item.id}" enters before its word`);
|
|
310
|
+
other.endFrame = end;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return out;
|
|
314
|
+
}
|
|
127
315
|
/** Frames of each word range on the run's narration, by the rule inserts follow: a range ends where its first uncovered word starts. */
|
|
128
316
|
export function resolveLayerFrames(input) {
|
|
129
317
|
const lexical = input.words.filter(word => !/^\p{P}+$/u.test(word.word));
|
package/dist/ugc-layers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ugc-layers.js","sourceRoot":"","sources":["../src/ugc-layers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ugc-layers.js","sourceRoot":"","sources":["../src/ugc-layers.ts"],"names":[],"mappings":"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"}
|