/** * Motion sheet — the single style authority for a project's motion-graphics * lane. One reference image + a ≤120-word style lock replace ~1,000 words of * per-clip style prose: the image carries what words describe badly (texture, * weight, spacing), the text carries what images cannot enforce (rules, * negatives, audio policy). * * This module is deterministic: validate/normalize/persist + the master-image * prompt composer. Creative authoring (the interview) lives in the mograph * skill; the artifact is the contract. */ import type { MographLintIssue, MotionSheetArtifact } from './types.js'; import { type MographStyleFamily } from './style-families.js'; /** Style lock rides above EVERY action block — every word is paid for N times. */ export declare const STYLE_LOCK_MAX_WORDS = 120; /** The `film` budget: a 2–4 block launch/product film whose lock carries the hero too. */ export declare const STYLE_LOCK_FILM_MAX_WORDS = 320; /** Below this, a lock is naming the family rather than describing it. */ export declare const STYLE_LOCK_MIN_DESCRIPTIVE_WORDS = 35; export declare const NEGATIVE_MAX_WORDS = 80; /** * Clips sit under your own voice-over, and they render silent: no mograph door * asks the route for audio (#633). Every sheet negative must still END with * this tail — belt and suspenders, because video models treat a music bed as * the default, and a block reused on a door that does generate audio must not * come back singing. */ export declare const AUDIO_BAN_TAIL = "no music, no soundtrack, no voice-over, no narration, no lyrics"; export declare function countWords(text: string): number; export declare function motionSheetPathFor(root: string, slug: string): string; export declare function readMotionSheet(root: string, slug: string): Promise; export declare function writeMotionSheet(root: string, slug: string, artifact: MotionSheetArtifact): Promise; /** * Structural + budget validation for a motion sheet. Returns issues; empty * array = valid. Pure — the handler does the I/O and exit codes. */ export declare function validateMotionSheet(input: Partial): MographLintIssue[]; /** * Compose the master-image prompt that renders the sheet's reference board. * Deterministic template over the family + sheet fields; the image is a * designed art-direction board (type specimen, palette strip, component zoo, * mini-scenes, motion thumbnails), rendered via the existing `gen-image` * surface at the DELIVERY aspect (providers inherit aspect from the attached * reference). */ export declare function buildMasterImagePrompt(sheet: Pick, family: MographStyleFamily, opts?: { aspect?: string; projectLabel?: string; }): string; //# sourceMappingURL=sheet.d.ts.map