@cliangdev/conductor 0.27.0 → 0.27.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/assets/claude/skills/conductor-creative/SKILL.md +4 -0
- package/dist/creative/assertions.js +57 -7
- package/dist/creative/font.js +29 -0
- package/dist/creative/frame.css +2 -0
- package/dist/creative/frame.js +7 -4
- package/dist/creative/layouts/bleed/layout.css +14 -7
- package/dist/creative/motion.js +61 -19
- package/dist/creative/render.js +21 -2
- package/dist/creative/sheet.js +7 -2
- package/dist/creative/styles.css +16 -7
- package/dist/mcp/tools/creative-drafts.d.ts.map +1 -1
- package/dist/mcp/tools/creative-drafts.js +5 -1
- package/dist/mcp/tools/creative-drafts.js.map +1 -1
- package/package.json +1 -1
|
@@ -240,6 +240,10 @@ destination rewards video over an image.
|
|
|
240
240
|
- `audio` — `source: "clip"` (the background clip's own recorded sound — the default when there
|
|
241
241
|
is one), `"track"` (a separate library track: `trackId` from `upload_creative_media`, plus
|
|
242
242
|
`volume` and `fadeOutSec`), or `"none"`.
|
|
243
|
+
|
|
244
|
+
A MOTION Creative is one animated frame per placement: it cannot also be a story or a carousel
|
|
245
|
+
(`sequenceKind`/`sequence`) — that is refused with a 422 (`motionNoSequence`). For several beats, make
|
|
246
|
+
one MOTION Creative per beat, or a STILL story/carousel.
|
|
243
247
|
3. The preview renders three key moments across the timeline into one sheet image (not the finished
|
|
244
248
|
video). Judge it the same honest way as step 7 above — does the copy's entrance finish before the
|
|
245
249
|
next beat, does the end card actually hold long enough to read — and get approval before
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
* loaded (including a bleed layout's CSS background photo, invisible to a
|
|
23
23
|
* plain <img> check), headline contrast, the accent colour, and the
|
|
24
24
|
* rendered box size.
|
|
25
|
+
*
|
|
26
|
+
* Presence checks (`missingPhoto`, `missingLockup`, `missingHeadline`): every check above judges what
|
|
27
|
+
* IS on the board, so a board that silently lost its photo or logo used to pass them all. The caller
|
|
28
|
+
* says what the spec requires (`expect`, see expectedElements) and a required element that is absent,
|
|
29
|
+
* collapsed or hidden fails. `bodyDropped` is the one warning in this family: a layout that has no room
|
|
30
|
+
* for the body line at a placement drops it by design, but the author supplied that copy.
|
|
25
31
|
*/
|
|
26
32
|
|
|
27
33
|
/* ── pure math ─────────────────────────────────────────────────────────── */
|
|
@@ -86,6 +92,19 @@ export function safeZoneIntrusion(boardRect, nodes, safe) {
|
|
|
86
92
|
return issues;
|
|
87
93
|
}
|
|
88
94
|
|
|
95
|
+
/** Pure: what a render requires on the board, from the resolved ad and the brand kit it renders with —
|
|
96
|
+
* `{ photo, lockup, headline }`. A photo is required when the ad has a photo URL (a clip-only background
|
|
97
|
+
* does not need one); a lockup when the kit has a mark or a wordmark (a kit without logos renders none,
|
|
98
|
+
* by design); a headline when the ad has one. Pass the result as `runAssertions`'s `expect`. */
|
|
99
|
+
export function expectedElements(ad, brand) {
|
|
100
|
+
const logos = (brand && brand.logos) || {};
|
|
101
|
+
return {
|
|
102
|
+
photo: Boolean(ad && ad.photoUrl),
|
|
103
|
+
lockup: Boolean(logos.mark || logos.wordmarkLight || logos.wordmarkDark),
|
|
104
|
+
headline: Boolean(ad && ad.headline && String(ad.headline).trim()),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
89
108
|
/* ── DOM-dependent (real browser only) ────────────────────────────────────── */
|
|
90
109
|
|
|
91
110
|
const CHECKED_SELECTOR = '.cc-headline, .cc-body, .cc-cta, .cc-lockup';
|
|
@@ -116,9 +135,10 @@ function sameRgb(a, b) {
|
|
|
116
135
|
/* Runs every check against a live, fitted `.cc-board` and returns
|
|
117
136
|
* `{ errors, warnings, width, height }`. `placement` is this placement's own
|
|
118
137
|
* registry entry (pixel size, safe zone); `brand` is the same object handed
|
|
119
|
-
* to renderBoard
|
|
120
|
-
* `
|
|
121
|
-
|
|
138
|
+
* to renderBoard; `expect` (optional, see expectedElements) names the elements the spec requires, so a
|
|
139
|
+
* missing one fails. An empty `errors` array means the frame is safe to ship; `warnings` are non-fatal
|
|
140
|
+
* (e.g. a soft, upscaled photo, or a body line the layout drops at this placement). */
|
|
141
|
+
export async function runAssertions(board, placement, brand, { outputScale = 2, expect = null } = {}) {
|
|
122
142
|
const errors = [];
|
|
123
143
|
const warnings = [];
|
|
124
144
|
// The same findings with a stable `rule` id each, for callers (the draft preview) that report them
|
|
@@ -128,9 +148,9 @@ export async function runAssertions(board, placement, brand, { outputScale = 2 }
|
|
|
128
148
|
errors.push(message);
|
|
129
149
|
checks.push({ rule, severity: 'error', message });
|
|
130
150
|
};
|
|
131
|
-
const warn = (rule, message) => {
|
|
151
|
+
const warn = (rule, message, extra) => {
|
|
132
152
|
warnings.push(message);
|
|
133
|
-
checks.push({ rule, severity: 'warning', message });
|
|
153
|
+
checks.push({ rule, severity: 'warning', message, ...extra });
|
|
134
154
|
};
|
|
135
155
|
const br = rectOf(board);
|
|
136
156
|
|
|
@@ -155,14 +175,44 @@ export async function runAssertions(board, placement, brand, { outputScale = 2 }
|
|
|
155
175
|
}
|
|
156
176
|
}
|
|
157
177
|
|
|
178
|
+
// ── required elements: present, sized and visible (a spec that names them must get them) ──
|
|
179
|
+
if (expect) {
|
|
180
|
+
const shown = (n) => {
|
|
181
|
+
if (!n) return false;
|
|
182
|
+
const r = n.getBoundingClientRect();
|
|
183
|
+
const cs = getComputedStyle(n);
|
|
184
|
+
return r.width > 0 && r.height > 0 && cs.display !== 'none' && cs.visibility !== 'hidden';
|
|
185
|
+
};
|
|
186
|
+
if (expect.headline) {
|
|
187
|
+
const h = board.querySelector('.cc-headline');
|
|
188
|
+
if (!h || !h.textContent.trim() || !shown(h)) fail('missingHeadline', 'the headline is missing from the rendered frame');
|
|
189
|
+
}
|
|
190
|
+
if (expect.lockup && !shown(board.querySelector('.cc-lockup:not(.cc-lockup--spacer)'))) {
|
|
191
|
+
fail('missingLockup', 'the brand logo lockup is missing from the rendered frame (the brand kit has a logo)');
|
|
192
|
+
}
|
|
193
|
+
if (expect.photo) {
|
|
194
|
+
const layer = board.querySelector('.cc-bg-photo') || board.querySelector('.cc-board__band img, .cc-board__card img');
|
|
195
|
+
const hasImage = layer && (layer.tagName === 'IMG'
|
|
196
|
+
? Boolean(layer.getAttribute('src')) && layer.complete && layer.naturalWidth > 0
|
|
197
|
+
: /url\(/.test(getComputedStyle(layer).backgroundImage || ''));
|
|
198
|
+
if (!shown(layer) || !hasImage) fail('missingPhoto', 'the photo is missing from the rendered frame (the spec has a photo URL)');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (board.dataset.bodyDropped === 'true') {
|
|
202
|
+
const layout = board.dataset.layout || 'this layout';
|
|
203
|
+
const key = board.dataset.ratio;
|
|
204
|
+
warn('bodyDropped', `the body line is not shown: the ${layout} layout drops the body at ${key}. Put the words in the headline, or pick another layout or placement.`, { placementKey: key });
|
|
205
|
+
}
|
|
206
|
+
|
|
158
207
|
const imgs = [...board.querySelectorAll('img')];
|
|
159
208
|
const broken = imgs.filter((i) => !i.complete || i.naturalWidth === 0).map((i) => i.getAttribute('src'));
|
|
160
209
|
if (broken.length) fail('image', `image(s) failed to load: ${broken.join(', ')}`);
|
|
161
210
|
|
|
162
|
-
// A bleed
|
|
211
|
+
// A bleed layout paints its photo as a CSS background (the `.cc-bg-photo` layer), invisible to
|
|
163
212
|
// the <img> check above — probe it directly, the same way a typo'd path
|
|
164
213
|
// would otherwise export a flat, photo-less board and pass everything else.
|
|
165
|
-
const
|
|
214
|
+
const photoLayer = board.querySelector('.cc-bg-photo');
|
|
215
|
+
const bgImage = getComputedStyle(photoLayer || board).backgroundImage;
|
|
166
216
|
const bgUrlMatch = /url\("?(.+?)"?\)/.exec(bgImage || '');
|
|
167
217
|
if (bgUrlMatch && bgUrlMatch[1]) {
|
|
168
218
|
const probe = await new Promise((done) => {
|
package/dist/creative/font.js
CHANGED
|
@@ -37,3 +37,32 @@ export async function ensureBrandFont(brand) {
|
|
|
37
37
|
await Promise.all([400, 700].map((w) => document.fonts.load(`${w} 32px "${family}"`).catch(() => [])));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
/* Waits until every picture under `root` has loaded: each <img> (the logo lockup, the badge, a band/card
|
|
42
|
+
* photo) AND each bleed photo layer, which is a CSS background and so is not in `document.images` — the
|
|
43
|
+
* page's `load` event does not wait for it either. Without this a screenshot (the contact sheet most of
|
|
44
|
+
* all, which never ran this wait) could be taken before the photo or logos had arrived: a board with no
|
|
45
|
+
* photo and no logo that nothing flagged. A picture that fails to load resolves anyway; it is
|
|
46
|
+
* assertions.js's job (frame.html) to report it. Browser-only; a no-op outside a document. */
|
|
47
|
+
export async function settleImages(root) {
|
|
48
|
+
if (typeof document === 'undefined') return;
|
|
49
|
+
const scope = root || document;
|
|
50
|
+
const loads = [...scope.querySelectorAll('img')].map((img) => (
|
|
51
|
+
img.complete ? Promise.resolve() : new Promise((done) => {
|
|
52
|
+
img.addEventListener('load', done, { once: true });
|
|
53
|
+
img.addEventListener('error', done, { once: true });
|
|
54
|
+
})
|
|
55
|
+
));
|
|
56
|
+
for (const layer of scope.querySelectorAll('.cc-bg-photo')) {
|
|
57
|
+
const m = /url\("?(.+?)"?\)/.exec(getComputedStyle(layer).backgroundImage || '');
|
|
58
|
+
if (!m) continue;
|
|
59
|
+
loads.push(new Promise((done) => {
|
|
60
|
+
const probe = new Image();
|
|
61
|
+
probe.onload = done;
|
|
62
|
+
probe.onerror = done;
|
|
63
|
+
probe.src = m[1];
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
await Promise.all(loads);
|
|
67
|
+
await Promise.all([...scope.querySelectorAll('img')].map((img) => (img.decode ? img.decode().catch(() => {}) : null)));
|
|
68
|
+
}
|
package/dist/creative/frame.css
CHANGED
|
@@ -87,6 +87,8 @@
|
|
|
87
87
|
}
|
|
88
88
|
.cc-board--light .cc-headline { color: var(--cc-ink); }
|
|
89
89
|
.cc-headline em { font-style: italic; color: var(--cc-accent); }
|
|
90
|
+
.cc-headline em.cc-accent-after-space { margin-left: 0.07em; }
|
|
91
|
+
.cc-headline em.cc-accent-before-space { margin-right: 0.04em; }
|
|
90
92
|
/* Word spans the motion presets animate: inline-block so transforms apply; the spaces between them stay
|
|
91
93
|
* plain text, so lines wrap exactly as they do without the spans. */
|
|
92
94
|
.cc-word { display: inline-block; }
|
package/dist/creative/frame.js
CHANGED
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
import { resolveAd, resolveSequence, renderBoard, fitBoard } from './render.js';
|
|
38
38
|
import { placements as DEFAULT_PLACEMENTS } from './placements.js';
|
|
39
39
|
import { layouts as DEFAULT_LAYOUTS } from './layouts/index.js';
|
|
40
|
-
import { ensureBrandFont } from './font.js';
|
|
41
|
-
import { runAssertions } from './assertions.js';
|
|
40
|
+
import { ensureBrandFont, settleImages } from './font.js';
|
|
41
|
+
import { runAssertions, expectedElements } from './assertions.js';
|
|
42
42
|
import { applyMotion, seekBackgroundVideo } from './motion.js';
|
|
43
43
|
|
|
44
44
|
function finish(result) {
|
|
@@ -83,10 +83,13 @@ async function main() {
|
|
|
83
83
|
|
|
84
84
|
await document.fonts.ready;
|
|
85
85
|
await Promise.all([...document.images].map((img) => (img.decode ? img.decode().catch(() => {}) : null)));
|
|
86
|
+
await settleImages(board); // also the bleed photo layer, a CSS background `document.images` does not list
|
|
86
87
|
// Motion presets restructure the headline (word spans): build that structure, in its final state,
|
|
87
88
|
// before fitting, so the type is sized for the layout every captured frame will have.
|
|
88
89
|
if (spec.motion) applyMotion(board, spec.motion, spec.motion.durationSec || 8, { durationSec: spec.motion.durationSec || 8 });
|
|
89
90
|
fitBoard(board, placementsReg);
|
|
91
|
+
// What this spec requires on the board: a required element that did not render fails the checks.
|
|
92
|
+
const expect = expectedElements(ad, spec.brand);
|
|
90
93
|
|
|
91
94
|
if (spec.motion) {
|
|
92
95
|
const durationSec = spec.motion.durationSec || 8;
|
|
@@ -102,13 +105,13 @@ async function main() {
|
|
|
102
105
|
return true;
|
|
103
106
|
};
|
|
104
107
|
// A motion frame is captured at 1x (video), so the photo only needs to cover the placement itself.
|
|
105
|
-
window.__assertBoard = async () => runAssertions(board, placement, spec.brand || {}, { outputScale: 1 });
|
|
108
|
+
window.__assertBoard = async () => runAssertions(board, placement, spec.brand || {}, { outputScale: 1, expect });
|
|
106
109
|
|
|
107
110
|
finish({ ok: true, width: placement.w, height: placement.h });
|
|
108
111
|
return;
|
|
109
112
|
}
|
|
110
113
|
|
|
111
|
-
const { errors, warnings, checks, width, height } = await runAssertions(board, placement, spec.brand || {});
|
|
114
|
+
const { errors, warnings, checks, width, height } = await runAssertions(board, placement, spec.brand || {}, { expect });
|
|
112
115
|
finish({ ok: errors.length === 0, errors, warnings, checks, width, height });
|
|
113
116
|
} catch (err) {
|
|
114
117
|
finish({ ok: false, error: String((err && err.message) || err) });
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
/* bleed — photo covers the whole artboard, text sits over a scrim. */
|
|
2
2
|
|
|
3
3
|
.cc-board--bleed {
|
|
4
|
-
background-image: var(--cc-photo);
|
|
5
|
-
/* motion.js's Ken Burns pan/zoom (a MOTION creative only) sets --cc-bg-size/--cc-bg-pos on the
|
|
6
|
-
board; a background-image has no `transform`, so the zoom/pan is expressed as a growing
|
|
7
|
-
background-size and a shifting background-position instead. Unset for STILL: falls back to the
|
|
8
|
-
original fixed cover/focal. */
|
|
9
|
-
background-size: var(--cc-bg-size, cover);
|
|
10
|
-
background-position: var(--cc-bg-pos, var(--cc-focal, 50% 50%));
|
|
11
4
|
justify-content: flex-end;
|
|
12
5
|
}
|
|
13
6
|
|
|
7
|
+
/* The photo: a real layer under the copy (render.js adds it first, so plain DOM order keeps the panel and
|
|
8
|
+
any clip video above it). `cover` + `no-repeat` mean it can never tile or leave a strip uncovered;
|
|
9
|
+
the focal point is its background-position. motion.js's Ken Burns pan/zoom (a MOTION creative only)
|
|
10
|
+
is a transform on this layer, kept inside the overhang a scale >= 1 gives it; unset for STILL. */
|
|
11
|
+
.cc-bg-photo {
|
|
12
|
+
position: absolute; inset: 0;
|
|
13
|
+
background-image: var(--cc-photo);
|
|
14
|
+
background-repeat: no-repeat;
|
|
15
|
+
background-size: cover;
|
|
16
|
+
background-position: var(--cc-focal, 50% 50%);
|
|
17
|
+
transform: var(--cc-bg-transform, none);
|
|
18
|
+
transform-origin: center center;
|
|
19
|
+
}
|
|
20
|
+
|
|
14
21
|
/* Fill variant (9x16, 4x5, story): the scrim covers the artboard and the
|
|
15
22
|
copy is distributed from top to bottom over it. */
|
|
16
23
|
.cc-board__panel--fill {
|
package/dist/creative/motion.js
CHANGED
|
@@ -136,6 +136,45 @@ function wrapWordsInPlace(container) {
|
|
|
136
136
|
container.appendChild(frag);
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
/* ── accent-pop: how far a word may grow without eating the spaces around it ─────────────────────
|
|
140
|
+
* A scaled inline-block keeps its layout box, so growing it moves its ink into the neighbouring spaces:
|
|
141
|
+
* at 1.18x a long accent word swallowed the space before it ("slightdelay") for the first half second.
|
|
142
|
+
* The pop is therefore limited so each side grows by at most POP_GAP_EM of the font size (two accent words share one space, so each takes only a sliver of it), and only on a
|
|
143
|
+
* side that HAS a space (a word glued to punctuation, like "delay" in "delay.", does not grow towards it);
|
|
144
|
+
* the origin is placed so the growth lands on the open sides. Layout-less environments (a DOM shim)
|
|
145
|
+
* report no width and get the plain, uncapped pop. */
|
|
146
|
+
|
|
147
|
+
const POP_PEAK = 1.18;
|
|
148
|
+
const POP_GAP_EM = 0.04;
|
|
149
|
+
|
|
150
|
+
function hasGap(word, direction) {
|
|
151
|
+
const prop = direction < 0 ? 'previousSibling' : 'nextSibling';
|
|
152
|
+
let node = word[prop];
|
|
153
|
+
// The first/last word of the accent <em> neighbours whatever sits beside the <em> itself.
|
|
154
|
+
if (!node && word.parentNode && word.parentNode.tagName === 'EM') node = word.parentNode[prop];
|
|
155
|
+
if (!node) return true; // a line edge: nothing to run into
|
|
156
|
+
if (node.nodeType !== 3) return false;
|
|
157
|
+
return direction < 0 ? /\s$/.test(node.textContent) : /^\s/.test(node.textContent);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/** Pure-ish (reads the word's measured width and font size): `{ peak, originX }` — the largest pop scale
|
|
161
|
+
* that keeps the word clear of its neighbours, and the transform-origin x (percent) that puts the growth
|
|
162
|
+
* on the sides that have a space. */
|
|
163
|
+
function popLimits(word) {
|
|
164
|
+
const width = word.offsetWidth;
|
|
165
|
+
const view = word.ownerDocument && word.ownerDocument.defaultView;
|
|
166
|
+
const size = view && view.getComputedStyle ? parseFloat(view.getComputedStyle(word).fontSize) : NaN;
|
|
167
|
+
if (!(width > 0) || !(size > 0)) return { peak: POP_PEAK, originX: 50 };
|
|
168
|
+
const budget = POP_GAP_EM * size;
|
|
169
|
+
const left = hasGap(word, -1) ? budget : 0;
|
|
170
|
+
const right = hasGap(word, 1) ? budget : 0;
|
|
171
|
+
if (left + right === 0) return { peak: 1, originX: 50 };
|
|
172
|
+
return {
|
|
173
|
+
peak: Math.min(POP_PEAK, 1 + (left + right) / width),
|
|
174
|
+
originX: round2((100 * left) / (left + right)),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
|
|
139
178
|
/* ── headline (preset-dependent) ──────────────────────────────────────────── */
|
|
140
179
|
|
|
141
180
|
function applyHeadline(board, preset, tSec, inEndCard) {
|
|
@@ -189,11 +228,12 @@ function applyHeadline(board, preset, tSec, inEndCard) {
|
|
|
189
228
|
const fadeProgress = windowProgress(tSec, ACCENT_POP_FADE_WINDOW[0], ACCENT_POP_FADE_WINDOW[1]);
|
|
190
229
|
setFade(headline, fadeProgress, null);
|
|
191
230
|
const popProgress = windowProgress(tSec, ACCENT_POP_POP_WINDOW[0], ACCENT_POP_POP_WINDOW[1]);
|
|
192
|
-
// Scale settles
|
|
193
|
-
const scale = round2(lerp(1.18, 1, popProgress));
|
|
231
|
+
// Scale settles peak → 1; brightness pulses up and back to 1, so the end card starts with no jump.
|
|
194
232
|
const brightness = round2(1 + 0.3 * Math.sin(Math.PI * popProgress));
|
|
195
233
|
accentWords.forEach((w) => {
|
|
196
|
-
|
|
234
|
+
const { peak, originX } = popLimits(w);
|
|
235
|
+
const scale = round2(lerp(peak, 1, popProgress));
|
|
236
|
+
w.style.transformOrigin = `${originX}% 70%`;
|
|
197
237
|
w.style.transform = scale === 1 ? 'none' : `scale(${scale})`;
|
|
198
238
|
w.style.filter = brightness === 1 ? 'none' : `brightness(${brightness})`;
|
|
199
239
|
});
|
|
@@ -243,26 +283,28 @@ export function backgroundMotionState(motion, tSec, durationSec) {
|
|
|
243
283
|
return { scale: 1, panPct: 0 }; // 'none'
|
|
244
284
|
}
|
|
245
285
|
|
|
246
|
-
|
|
247
|
-
*
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
286
|
+
/** Pure: the rect (relative to the board/band/card it fills) the background layer occupies once
|
|
287
|
+
* `backgroundMotionState`'s transform is applied to a layer that exactly fills a `w` x `h` box. The
|
|
288
|
+
* transform is `translateX(panPct%) scale(scale)` (translate first, so the pan is in the BOX's own
|
|
289
|
+
* pixels, not the scaled layer's): a scale >= 1 overhangs each side by (scale - 1) / 2, and the pan is
|
|
290
|
+
* kept inside that overhang, so the layer covers the box at every `t`. Exported for tests. */
|
|
291
|
+
export function backgroundLayerRect(w, h, state) {
|
|
292
|
+
const { scale, panPct } = state;
|
|
293
|
+
const width = w * scale;
|
|
294
|
+
const height = h * scale;
|
|
295
|
+
const left = (w - width) / 2 + (panPct / 100) * w;
|
|
296
|
+
const top = (h - height) / 2;
|
|
297
|
+
return { left, top, right: left + width, bottom: top + height, width, height };
|
|
252
298
|
}
|
|
253
299
|
|
|
254
300
|
function applyBackgroundMotion(board, motion, tSec, durationSec) {
|
|
255
301
|
const { scale, panPct } = backgroundMotionState(motion, tSec, durationSec);
|
|
256
|
-
//
|
|
257
|
-
// never calls applyMotion at all) is untouched:
|
|
258
|
-
//
|
|
259
|
-
//
|
|
260
|
-
//
|
|
261
|
-
|
|
262
|
-
board.style.setProperty('--cc-bg-transform', `scale(${scale}) translateX(${panPct}%)`);
|
|
263
|
-
board.style.setProperty('--cc-bg-size', `${round2(scale * 100)}%`);
|
|
264
|
-
const focal = board.style.getPropertyValue('--cc-focal') || '50% 50%';
|
|
265
|
-
board.style.setProperty('--cc-bg-pos', panBackgroundPosition(focal, panPct));
|
|
302
|
+
// One CSS var, consumed by every layout's photo layer, with a no-op fallback so a STILL board (which
|
|
303
|
+
// never calls applyMotion at all) is untouched: `.cc-bg-photo` (bleed's photo layer),
|
|
304
|
+
// `.cc-board__band img` / `.cc-board__card img` and `.cc-bg-video`. The layer is `cover`-sized, never
|
|
305
|
+
// scaled below 1 and never panned past its overhang, so no edge or repeat can show (see
|
|
306
|
+
// backgroundLayerRect). The focal point stays the layer's own object-/background-position.
|
|
307
|
+
board.style.setProperty('--cc-bg-transform', `translateX(${panPct}%) scale(${scale})`);
|
|
266
308
|
}
|
|
267
309
|
|
|
268
310
|
/* ── the public entry point ───────────────────────────────────────────────── */
|
package/dist/creative/render.js
CHANGED
|
@@ -159,7 +159,11 @@ export function resolveSequence(raw, placements, layouts) {
|
|
|
159
159
|
if (!raw.sequenceKind || !Array.isArray(seq) || !seq.length) return [];
|
|
160
160
|
const last = seq.length - 1;
|
|
161
161
|
return seq.map((frame, i) => {
|
|
162
|
-
|
|
162
|
+
// A beat inherits the creative for anything it leaves out, and the API sends an unset beat field as
|
|
163
|
+
// null: a null must not overwrite the creative's own value (a beat with `photoUrl: null` rendered
|
|
164
|
+
// with no photo at all).
|
|
165
|
+
const own = Object.fromEntries(Object.entries(frame).filter(([, v]) => v != null));
|
|
166
|
+
const merged = resolveAd({ ...raw, ...own, sequence: undefined, sequenceKind: undefined }, placements, layouts);
|
|
163
167
|
// null and undefined both mean "not set" (the API sends null): the CTA then lands on the last frame only.
|
|
164
168
|
merged.showCta = frame.cta != null ? frame.cta : i === last;
|
|
165
169
|
// Body is per-frame opt-in: a hook frame can be a headline and nothing else.
|
|
@@ -260,7 +264,13 @@ function buildHeadline(ad, parent) {
|
|
|
260
264
|
return h;
|
|
261
265
|
}
|
|
262
266
|
if (m[1]) h.appendChild(document.createTextNode(m[1]));
|
|
263
|
-
el('em', null, h)
|
|
267
|
+
const em = el('em', null, h);
|
|
268
|
+
em.textContent = m[2];
|
|
269
|
+
// Italic correction: a slanted accent leans into the upright word before it (and its last letter
|
|
270
|
+
// overhangs the word after), so a plain word space reads as no space at all ("slightdelay").
|
|
271
|
+
// Widen only the gaps that are real spaces, never one against glued punctuation.
|
|
272
|
+
if (/\s$/.test(m[1])) em.classList.add('cc-accent-after-space');
|
|
273
|
+
if (/^\s/.test(m[3])) em.classList.add('cc-accent-before-space');
|
|
264
274
|
if (m[3]) h.appendChild(document.createTextNode(m[3]));
|
|
265
275
|
return h;
|
|
266
276
|
}
|
|
@@ -405,6 +415,7 @@ export function renderBoard(ad, placementKey, placements, layouts, brand, opts)
|
|
|
405
415
|
(ad.isSequence ? ' cc-board--seq' : '') +
|
|
406
416
|
(ad.isStory ? ' cc-board--story' : ''));
|
|
407
417
|
board.dataset.ratio = placementKey;
|
|
418
|
+
board.dataset.layout = kind;
|
|
408
419
|
|
|
409
420
|
applyBrandTokens(board, brand);
|
|
410
421
|
board.style.setProperty('--cc-board-w', placement.w + 'px');
|
|
@@ -435,6 +446,11 @@ export function renderBoard(ad, placementKey, placements, layouts, brand, opts)
|
|
|
435
446
|
let panel;
|
|
436
447
|
if (photoType === 'background') {
|
|
437
448
|
board.style.setProperty('--cc-photo', ad.photoUrl ? 'url("' + ad.photoUrl + '")' : 'none');
|
|
449
|
+
// The photo is its own layer, not the board's background: a MOTION creative's Ken Burns zoom/pan is a
|
|
450
|
+
// transform on this layer, which always covers the board (cover, no-repeat) whatever the zoom. A
|
|
451
|
+
// background-size percentage on the board did not: it was relative to the photo's WIDTH, so a
|
|
452
|
+
// landscape photo on a tall board ended up shorter than the board and tiled (see motion.js).
|
|
453
|
+
if (ad.photoUrl) el('div', 'cc-bg-photo', board).setAttribute('aria-hidden', 'true');
|
|
438
454
|
// The video (when present) must land BEFORE the panel, so the panel's own
|
|
439
455
|
// stacking (position:relative, later in the DOM) renders above it.
|
|
440
456
|
if (ad.backgroundVideoUrl) buildBgVideo(board, ad.backgroundVideoUrl);
|
|
@@ -474,6 +490,9 @@ export function renderBoard(ad, placementKey, placements, layouts, brand, opts)
|
|
|
474
490
|
if (ad.body && !dropBody) {
|
|
475
491
|
el('p', 'cc-body', panel).textContent = ad.body;
|
|
476
492
|
}
|
|
493
|
+
// A layout may not have room for a body line at some placements (stacked at 4x5): keep that behaviour,
|
|
494
|
+
// but record it on the board so runAssertions can warn that supplied copy is not on the artwork.
|
|
495
|
+
if (ad.body && dropBody) board.dataset.bodyDropped = 'true';
|
|
477
496
|
if (ad.showCta !== false) buildCta(brand, panel, placement);
|
|
478
497
|
|
|
479
498
|
if (opts.safe && placement.safe.bottom) {
|
package/dist/creative/sheet.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* // motionKeyTimes()): one ROW per time, each row
|
|
16
16
|
* // holding every placement in placementKeys at
|
|
17
17
|
* // that time. Ignored for a sequence creative
|
|
18
|
-
* // (MOTION
|
|
18
|
+
* // (the backend refuses a MOTION creative with a sequence).
|
|
19
19
|
* }
|
|
20
20
|
*
|
|
21
21
|
* Result contract: window.__RENDER_RESULT = { ok: true, width, height } |
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
import { resolveAd, resolveSequence, renderBoard, fitAll } from './render.js';
|
|
26
26
|
import { placements as DEFAULT_PLACEMENTS } from './placements.js';
|
|
27
27
|
import { layouts as DEFAULT_LAYOUTS } from './layouts/index.js';
|
|
28
|
-
import { ensureBrandFont } from './font.js';
|
|
28
|
+
import { ensureBrandFont, settleImages } from './font.js';
|
|
29
29
|
import { applyMotion } from './motion.js';
|
|
30
30
|
|
|
31
31
|
const SHEET_SCALE = 0.34;
|
|
@@ -105,6 +105,11 @@ async function main() {
|
|
|
105
105
|
keys.forEach((key) => addCell(ad, key, (placementsReg[key] && placementsReg[key].label) || key));
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
+
// Every photo and logo must have arrived before fitting (a logo's width shapes the layout) and
|
|
109
|
+
// before the job screenshots the sheet: a sheet captured mid-load showed boards with no photo and no
|
|
110
|
+
// logo, which read as a render that had dropped them.
|
|
111
|
+
await settleImages(sheet);
|
|
112
|
+
|
|
108
113
|
// Fit every board at its TRUE, unscaled size first (a CSS transform
|
|
109
114
|
// shrinks the measured rect and would throw fitBoard's line-count math
|
|
110
115
|
// off), then apply the display scale — the same order mount.js uses.
|
package/dist/creative/styles.css
CHANGED
|
@@ -134,6 +134,8 @@
|
|
|
134
134
|
}
|
|
135
135
|
.cc-board--light .cc-headline { color: var(--cc-ink); }
|
|
136
136
|
.cc-headline em { font-style: italic; color: var(--cc-accent); }
|
|
137
|
+
.cc-headline em.cc-accent-after-space { margin-left: 0.07em; }
|
|
138
|
+
.cc-headline em.cc-accent-before-space { margin-right: 0.04em; }
|
|
137
139
|
/* Word spans the motion presets animate: inline-block so transforms apply; the spaces between them stay
|
|
138
140
|
* plain text, so lines wrap exactly as they do without the spans. */
|
|
139
141
|
.cc-word { display: inline-block; }
|
|
@@ -245,16 +247,23 @@
|
|
|
245
247
|
/* bleed — photo covers the whole artboard, text sits over a scrim. */
|
|
246
248
|
|
|
247
249
|
.cc-board--bleed {
|
|
248
|
-
background-image: var(--cc-photo);
|
|
249
|
-
/* motion.js's Ken Burns pan/zoom (a MOTION creative only) sets --cc-bg-size/--cc-bg-pos on the
|
|
250
|
-
board; a background-image has no `transform`, so the zoom/pan is expressed as a growing
|
|
251
|
-
background-size and a shifting background-position instead. Unset for STILL: falls back to the
|
|
252
|
-
original fixed cover/focal. */
|
|
253
|
-
background-size: var(--cc-bg-size, cover);
|
|
254
|
-
background-position: var(--cc-bg-pos, var(--cc-focal, 50% 50%));
|
|
255
250
|
justify-content: flex-end;
|
|
256
251
|
}
|
|
257
252
|
|
|
253
|
+
/* The photo: a real layer under the copy (render.js adds it first, so plain DOM order keeps the panel and
|
|
254
|
+
any clip video above it). `cover` + `no-repeat` mean it can never tile or leave a strip uncovered;
|
|
255
|
+
the focal point is its background-position. motion.js's Ken Burns pan/zoom (a MOTION creative only)
|
|
256
|
+
is a transform on this layer, kept inside the overhang a scale >= 1 gives it; unset for STILL. */
|
|
257
|
+
.cc-bg-photo {
|
|
258
|
+
position: absolute; inset: 0;
|
|
259
|
+
background-image: var(--cc-photo);
|
|
260
|
+
background-repeat: no-repeat;
|
|
261
|
+
background-size: cover;
|
|
262
|
+
background-position: var(--cc-focal, 50% 50%);
|
|
263
|
+
transform: var(--cc-bg-transform, none);
|
|
264
|
+
transform-origin: center center;
|
|
265
|
+
}
|
|
266
|
+
|
|
258
267
|
/* Fill variant (9x16, 4x5, story): the scrim covers the artboard and the
|
|
259
268
|
copy is distributed from top to bottom over it. */
|
|
260
269
|
.cc-board__panel--fill {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creative-drafts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/creative-drafts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"creative-drafts.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/creative-drafts.ts"],"names":[],"mappings":"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"}
|
|
@@ -299,6 +299,7 @@ export async function previewCreativeDraft(params, config, options = {}) {
|
|
|
299
299
|
const checks = manifest.checks ?? [];
|
|
300
300
|
const failing = checks.filter((c) => c.severity === 'error');
|
|
301
301
|
const passed = manifest.passed ?? failing.length === 0;
|
|
302
|
+
const advisories = checks.filter((c) => c.severity !== 'error');
|
|
302
303
|
return {
|
|
303
304
|
ok: true,
|
|
304
305
|
committed: false,
|
|
@@ -313,7 +314,10 @@ export async function previewCreativeDraft(params, config, options = {}) {
|
|
|
313
314
|
...(note ? { note } : {}),
|
|
314
315
|
nextStep: passed
|
|
315
316
|
? 'Nothing has been saved to Conductor. All placement checks passed. Show the image to the person and ask whether to approve it. ' +
|
|
316
|
-
'Only after they approve, call commit_creative_draft({draftDir}); to change something, call preview_creative_draft again.'
|
|
317
|
+
'Only after they approve, call commit_creative_draft({draftDir}); to change something, call preview_creative_draft again.' +
|
|
318
|
+
(advisories.length
|
|
319
|
+
? ` Warnings (they do not block, but tell the person when you show the image): ${summariseChecks(advisories)}`
|
|
320
|
+
: '')
|
|
317
321
|
: `NOT ready for approval: ${failing.length} placement check${failing.length === 1 ? '' : 's'} failed (${summariseChecks(failing)}) — ` +
|
|
318
322
|
'the full render would fail them after the person approved. Nothing has been saved. Fix the design (shorter copy, a different layout, ' +
|
|
319
323
|
'layoutOverrides, typeOverrides, or drop the body) and call preview_creative_draft again until `passed` is true. Do not ask the person to ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creative-drafts.js","sourceRoot":"","sources":["../../../src/mcp/tools/creative-drafts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"creative-drafts.js","sourceRoot":"","sources":["../../../src/mcp/tools/creative-drafts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED