{
  "schema_version": "render_manifest.v1",
  "video": {
    "id": "attention-002",
    "title": "The algorithm does not need you happy",
    "pillar": "attention_design",
    "duration_ms": 61000,
    "aspect_ratio": "9:16",
    "resolution": {
      "width": 1080,
      "height": 1920
    },
    "fps": 30
  },
  "timeline": [
    {
      "id": "scene_01",
      "track": "visual",
      "type": "kinetic_text",
      "asset_ref": "placeholder://attention-002/scene-01/kinetic_text",
      "start_ms": 0,
      "duration_ms": 3000,
      "text": "The algorithm does not need you happy. It needs you to stay",
      "visual_direction": "Large hook text over a phone/feed freeze-frame; make the first frame readable without audio.",
      "retention_goal": "Stop the scroll with self-relevance and tension in the first two seconds.",
      "style": {
        "safe_area_pct": 8,
        "font": "bold_sans",
        "caption_case": "sentence",
        "motion": "push_zoom",
        "contrast": "high"
      }
    },
    {
      "id": "caption_01",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 0,
      "duration_ms": 4000,
      "text": "The algorithm does not need you happy.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "scene_02",
      "track": "visual",
      "type": "stock_broll",
      "asset_ref": "placeholder://attention-002/scene-02/stock_broll",
      "start_ms": 3000,
      "duration_ms": 6000,
      "text": "It needs you to stay.",
      "visual_direction": "Relatable stock/B-roll: thumb hovering over an endless feed, then hard cut to greyscale.",
      "retention_goal": "Reset attention before the viewer predicts a generic slideshow.",
      "style": {
        "safe_area_pct": 8,
        "font": "bold_sans",
        "caption_case": "sentence",
        "motion": "cut_or_slide",
        "contrast": "high",
        "layout": "broll_under_caption",
        "pace": "fast_cut"
      }
    },
    {
      "id": "caption_02",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 4000,
      "duration_ms": 4000,
      "text": "It needs you to stay.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_03",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 8000,
      "duration_ms": 4000,
      "text": "That does not mean every app is evil.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "scene_03",
      "track": "visual",
      "type": "card_animation",
      "asset_ref": "placeholder://attention-002/scene-03/card_animation",
      "start_ms": 9000,
      "duration_ms": 24000,
      "text": "That does not mean every app is evil.",
      "visual_direction": "Card animation comparing your incentive vs. the feed incentive; two columns, very little text.",
      "retention_goal": "Deliver the main mental model with low cognitive load.",
      "style": {
        "safe_area_pct": 8,
        "font": "bold_sans",
        "caption_case": "sentence",
        "motion": "cut_or_slide",
        "contrast": "high",
        "layout": "minimal_cards",
        "max_words_on_screen": 18
      }
    },
    {
      "id": "caption_04",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 12000,
      "duration_ms": 4000,
      "text": "It means the incentives are not the same as yours.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_05",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 16000,
      "duration_ms": 4000,
      "text": "You want focus, sleep, actual progress, maybe a quiet brain for once.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_06",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 20000,
      "duration_ms": 4000,
      "text": "The feed wants one more swipe.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_07",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 24000,
      "duration_ms": 4000,
      "text": "So stop fighting a machine with vibes.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_08",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 28000,
      "duration_ms": 4000,
      "text": "Change the design.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_09",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 32000,
      "duration_ms": 4000,
      "text": "First, turn your phone to greyscale when you need deep work.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "scene_04",
      "track": "visual",
      "type": "screen_recording",
      "asset_ref": "placeholder://attention-002/scene-04/screen_recording",
      "start_ms": 33000,
      "duration_ms": 18000,
      "text": "It means the incentives are not the same as yours.",
      "visual_direction": "Screen-style visual showing home screen cleanup, app moved away, timer/exit rule set.",
      "retention_goal": "Show the concrete payoff so the advice feels usable, not ornamental.",
      "style": {
        "safe_area_pct": 8,
        "font": "bold_sans",
        "caption_case": "sentence",
        "motion": "cut_or_slide",
        "contrast": "high",
        "layout": "screen_plus_caption",
        "blur_sensitive_ui": true
      }
    },
    {
      "id": "caption_10",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 36000,
      "duration_ms": 4000,
      "text": "Second, remove your worst app from the home screen.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_11",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 40000,
      "duration_ms": 4000,
      "text": "Do not delete it if that feels dramatic.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_12",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 44000,
      "duration_ms": 4000,
      "text": "Just make it less automatic.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_13",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 48000,
      "duration_ms": 4000,
      "text": "Third, before you open a feed, set a leaving cue: one search, three videos, or five minutes.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "scene_05",
      "track": "visual",
      "type": "kinetic_text",
      "asset_ref": "placeholder://attention-002/scene-05/kinetic_text",
      "start_ms": 51000,
      "duration_ms": 10000,
      "text": "You want focus, sleep, actual progress, maybe a quiet brain for once.",
      "visual_direction": "End on the phone home screen question; highlight the app moved off the home screen today.",
      "retention_goal": "Convert attention into a comment/save action without adding a second idea.",
      "style": {
        "safe_area_pct": 8,
        "font": "bold_sans",
        "caption_case": "sentence",
        "motion": "cut_or_slide",
        "contrast": "high"
      }
    },
    {
      "id": "caption_14",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 52000,
      "duration_ms": 4000,
      "text": "If there is no exit rule, the app owns the exit.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_15",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 56000,
      "duration_ms": 4000,
      "text": "This is not about becoming a monk.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_16",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 60000,
      "duration_ms": 4000,
      "text": "It is about making your phone slightly less talented at stealing your day.",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    },
    {
      "id": "caption_17",
      "track": "captions",
      "type": "kinetic_caption",
      "start_ms": 64000,
      "duration_ms": 750,
      "text": "Which app gets moved off your home screen today?",
      "style": {
        "safe_area_pct": 8,
        "position": "lower_third",
        "max_chars_per_line": 28,
        "highlight_keywords": true
      }
    }
  ],
  "asset_requirements": {
    "kinetic_text": [
      {
        "scene": 1,
        "asset_ref": "placeholder://attention-002/scene-01/kinetic_text",
        "brief": "Large hook text over a phone/feed freeze-frame; make the first frame readable without audio.",
        "hint": "Generated by renderer from text and style instructions."
      },
      {
        "scene": 5,
        "asset_ref": "placeholder://attention-002/scene-05/kinetic_text",
        "brief": "End on the phone home screen question; highlight the app moved off the home screen today.",
        "hint": "Generated by renderer from text and style instructions."
      }
    ],
    "screen_recording": [
      {
        "scene": 4,
        "asset_ref": "placeholder://attention-002/scene-04/screen_recording",
        "brief": "Screen-style visual showing home screen cleanup, app moved away, timer/exit rule set.",
        "hint": "Needs captured or synthesized vertical screen recording; avoid fake unreadable UI text."
      }
    ],
    "card_animation": [
      {
        "scene": 3,
        "asset_ref": "placeholder://attention-002/scene-03/card_animation",
        "brief": "Card animation comparing your incentive vs. the feed incentive; two columns, very little text.",
        "hint": "Generated by renderer from concise text cards; animate one idea per beat."
      }
    ],
    "stock_broll": [
      {
        "scene": 2,
        "asset_ref": "placeholder://attention-002/scene-02/stock_broll",
        "brief": "Relatable stock/B-roll: thumb hovering over an endless feed, then hard cut to greyscale.",
        "hint": "Needs human/phone/context B-roll; avoid generic corporate stock feel."
      }
    ],
    "generated_background": []
  },
  "render_constraints": {
    "avoid_static_slideshow": true,
    "pattern_interrupt_every_seconds": 3,
    "first_frame_hook_required": true,
    "max_words_per_visual_card": 18,
    "human_approval_required_before_publish": true
  },
  "production_notes": [
    "First frame must show the hook as large kinetic caption text.",
    "Use motion or a visual state change in the first 1-2 seconds.",
    "Avoid static AI slideshow visuals; use screen recordings, cards, timer, or before/after cuts.",
    "Keep this version above 60 seconds for TikTok Creator Rewards testing.",
    "Avoid moral panic; frame as attention design and defaults."
  ]
}
