Files
OpenMontage/pipeline_defs/animation.yaml
T
calesthio 2cd36fa8e0 Implementation spec: governance, decision intelligence, theme system, and E2E bug fixes
Implements the 2026-04-02 transformation spec (Phases 1-8) and fixes all
critical bugs found during 5-pipeline E2E testing.

Governance & Decision Intelligence:
- Pipeline-specific stage order in checkpoint (replaces global STAGES list)
- Provider scoring engine (lib/scoring.py) with 7-dimension weighted ranking
- Decision log artifact enforced at proposal/idea stage across all 10 pipelines
- Delivery promise classifier prevents silent motion-to-still downgrades
- Structured shot language in scene_plan schema (camera, lens, lighting, DOF)
- Variation checker and slideshow risk scorer block samey output before render
- Creative intake, capability extension, and creative-intake meta skills
- Final self-review artifact with 5 mandatory checks before presenting output
- Source media review contract for user-supplied footage

Render & Theme System:
- Remotion AnimatedBackground now derives colors from playbook (no more hardcoded
  dark blue fintech gradient on every video)
- video_compose builds custom ThemeConfig from playbook YAML colors/fonts —
  custom playbooks flow through to Remotion automatically
- Explainer component wires theme to all child components (charts, cards, etc.)
- resolveAsset() handles absolute paths on Windows/Unix via file:// URIs
- RENDERER_FAMILY_MAP synced with actual Remotion compositions

Critical Bug Fixes:
- Windows npx subprocess: run_command() resolves .cmd wrappers via shutil.which()
- Silent renderer downgrade: Remotion failure now returns explicit error with
  options instead of silently falling back to FFmpeg
- .env inline comment parsing strips trailing # comments from API keys
- concat_path UnboundLocalError in video_compose finally block
- audio_mixer and showcase_card capture=True kwarg bug
- Selector estimate_cost() calls fixed (_select_tool -> _select_best_tool)
- asset_manifest schema expanded with provider, license, subtype fields
- screen-demo subtitle_gen moved from required to optional tools
- Duration drift detection in post-render final review (>25% warns)
2026-04-03 09:35:09 -07:00

245 lines
7.9 KiB
YAML

name: animation
version: "2.0"
description: >
Animation-first pipeline for motion graphics, diagram-led explainers, kinetic typography,
math visuals, and stylized illustrative sequences. Features a research-first pre-production
phase: the agent researches the topic and animation techniques, proposes concepts with
animation mode selection and cost estimates, and gets explicit user approval before any
assets are generated.
category: animation
stability: production
default_checkpoint_policy: guided
extensions:
custom_scripts: true
custom_playbooks: true
custom_skills: true
custom_tools: false
required_skills:
- pipelines/animation/executive-producer
- pipelines/animation/research-director
- pipelines/animation/proposal-director
- pipelines/animation/script-director
- pipelines/animation/scene-director
- pipelines/animation/asset-director
- pipelines/animation/edit-director
- pipelines/animation/compose-director
- pipelines/animation/publish-director
- meta/reviewer
- meta/checkpoint-protocol
orchestration:
mode: executive-producer
skill: pipelines/animation/executive-producer
budget_default_usd: 2.00
max_revisions_per_stage: 3
max_send_backs: 3
max_wall_time_minutes: 15
compatible_playbooks:
- clean-professional
- flat-motion-graphics
- minimalist-diagram
- anime-ghibli
stages:
# ── Pre-Production ──────────────────────────────────────────────
- name: research
skill: pipelines/animation/research-director
produces:
- research_brief
tools_available: []
checkpoint_required: false
human_approval_default: false
review_focus:
- Content landscape mapped with at least 3 existing pieces
- Data points are specific and sourced, not vague
- Animation technique references researched (at least 2)
- At least 3 genuinely different angles discovered with animation_fit
- All angles grounded in specific research findings
success_criteria:
- Schema-valid research_brief with at least 3 data_points
- At least 3 angles_discovered, each with grounded_in references
- At least 5 sources cited with URLs
- name: proposal
skill: pipelines/animation/proposal-director
required_artifacts_in:
- research_brief
produces:
- proposal_packet
- decision_log
tools_available: []
checkpoint_required: true
human_approval_default: true
review_focus:
- Concept options are genuinely different (animation mode, structure, hook)
- Animation mode selection is grounded in technique research and tool availability
- Each concept includes a reuse strategy (motifs, templates, transition family)
- Production plan reflects actual tool availability from preflight
- Cost estimate is itemized and honest
- Free/local tool options are highlighted where applicable
success_criteria:
- Schema-valid proposal_packet with at least 3 concept_options
- selected_concept includes animation_mode and reuse_strategy
- cost_estimate has itemized line_items with per-tool costs
- approval.status is "approved" or "approved_with_changes" before proceeding
# ── Production ──────────────────────────────────────────────────
- name: script
skill: pipelines/animation/script-director
required_artifacts_in:
- proposal_packet
optional_artifacts_in:
- research_brief
produces:
- script
optional_tools:
- transcriber
tools_available:
- transcriber
checkpoint_required: true
human_approval_default: true
review_focus:
- Script beats are concise and animation-friendly
- On-screen text remains readable and restrained
- Timing structure leaves room for visual holds
- Word count within +/-10% of duration target from selected concept
- Script incorporates research data points where relevant
success_criteria:
- Schema-valid script artifact
- Script sections map to distinct animation beats
- Total duration matches selected concept target within 10%
- name: scene_plan
skill: pipelines/animation/scene-director
required_artifacts_in:
- script
optional_artifacts_in:
- proposal_packet
produces:
- scene_plan
tools_available: []
checkpoint_required: true
human_approval_default: true
review_focus:
- Scene system is coherent and follows reuse strategy from proposal
- Animation mode specified per scene, consistent with proposal
- Transition logic is limited and meaningful
- Every scene has a feasible tool path
success_criteria:
- Schema-valid scene_plan artifact
- Every scene includes animation mode and visual treatment
- name: assets
skill: pipelines/animation/asset-director
required_artifacts_in:
- scene_plan
- script
optional_artifacts_in:
- proposal_packet
produces:
- asset_manifest
required_tools:
- tts_selector
optional_tools:
- image_selector
- video_selector
- math_animate
- diagram_gen
- code_snippet
- music_gen
tools_available:
- tts_selector
- image_selector
- video_selector
- math_animate
- diagram_gen
- code_snippet
- music_gen
checkpoint_required: true
human_approval_default: false
review_focus:
- Asset production path is explicit per scene
- Reusable motifs and templates are prepared and referenced
- Missing tool paths are surfaced honestly
- Total cost within approved budget from proposal_packet
success_criteria:
- Schema-valid asset_manifest artifact
- All referenced asset files exist on disk
- name: edit
skill: pipelines/animation/edit-director
required_artifacts_in:
- scene_plan
- asset_manifest
optional_artifacts_in:
- script
produces:
- edit_decisions
tools_available: []
checkpoint_required: true
human_approval_default: false
review_focus:
- Hold times and staggered reveals are preserved
- Motion serves hierarchy rather than decoration
- Timeline logic is consistent across scenes
- Audio ducking configured for narration segments
success_criteria:
- Schema-valid edit_decisions artifact
- Edit decisions cover all planned animation beats
- name: compose
skill: pipelines/animation/compose-director
required_artifacts_in:
- edit_decisions
- asset_manifest
optional_artifacts_in:
- scene_plan
produces:
- render_report
- final_review
required_tools:
- video_compose
- audio_mixer
optional_tools:
- video_stitch
tools_available:
- video_compose
- audio_mixer
- video_stitch
checkpoint_required: true
human_approval_default: false
review_focus:
- Text and diagrams remain sharp at final resolution
- Motion timing survives the final render
- Audio sync matches the animatic intent
- Duration within +/-5% of target
success_criteria:
- Schema-valid render_report artifact
- Output file exists and passes ffprobe validation
- name: publish
skill: pipelines/animation/publish-director
required_artifacts_in:
- render_report
- final_review
optional_artifacts_in:
- proposal_packet
- script
produces:
- publish_log
tools_available: []
checkpoint_required: true
human_approval_default: true
review_focus:
- Platform packaging matches the animation style
- Metadata reflects the actual topic, animation mode, and visual system
- Thumbnail concept matches the final visual language
success_criteria:
- Schema-valid publish_log artifact
- Export package contains video and metadata outputs