# -*- coding: utf-8 -*-
# 台本「人型ロボットは人間より速く走ったのに、なぜ洗濯物はたためないのか」（仮題）— 謎解きの型の1本目
#   2026-10-28 11版。エイイチの指示「おれの声を作って入れたい。今ある誰かの声を流用でいい」。エイイチの言葉4つを、ハコブくんの前置き＋エイイチの声（槙原の声を流用）に分けた。
#     言葉は本人の答えのとおり（口調だけ話し言葉に）。声は voice_eleven/ハコブ_11版/（ハコブ）と voice_eleven/エイイチ/（槙原）
#   2026-10-28 10版。場面の名前を分けた（hook_time・hook_answer・map2・solve_run・solve_fold）
#   2026-10-28 9版。エイイチの提案で、冒頭の感想の前に紹介の1文（ei_intro）を足し、ここでエイイチ（ドット絵）が初めて登場する。名前の札も出す。
#     声は voice_eleven/ハコブ_足し後/（文7を足して番号を付け直した写し）。元の ハコブ/ は残す
#   2026-10-28 8版。1文目「家の洗濯物には、まだ勝てていない」は意味が分かりにくい（エイイチ）→「…いるのに、家の洗濯物を任せられるロボットは、まだ見当たらない」。声は文0だけ作り直す
#   2026-10-28 7版。codex 2回目（事実確認だけ・「直してから」・3件）を受けた: 地面は「道路の地面は布のようには」・答えの2か所を「理由の1つだと考えられます」・出典表の Helix 2.5 の日付を 2026-09-17 に。
#     62%は公式ページの図を codex が読めなかった（humanoid.guide でタオル62%を確認済み・二次）
#   2026-10-28 6版。エイイチの指示「台本の最初をもっと人を惹きつける内容に。まだ固すぎ」。冒頭〜早とちりの言い回しとテンポだけを直した（事実と筋は5版のまま）:
#     逆説の一行から入る・作り話のようですが本当の話・視聴者に聞く・犯人は足でも手でもない（山場の予告）・約束と条件を短く・成績表のひと言・早とちりを2文に
#   2026-10-28 5版。エイイチの指示「codex は事実確認をベースに。内容を変えるのはやめて（多少はいい）」。codex の提案で筋を組み替えた4版はやめ（_旧版/_narration_4版_codexで組み替え.py）、
#     3版の筋のまま、codex 1回目の事実の指摘だけを入れた: 世界記録候補・3倍は機体のちがう優勝タイムの比べ・自律の区分でも一部の補助は認められていた・
#     1年の伸びは機体と投資から「説明する専門家もいる」・優勝機の学ばせ方は未確認なので「走れる土台は仮想の練習」を言い切らない・地面と布の言い方・4096台はやり直し・
#     Figure は2026-09 に初めての30軒で試しタオル62%と発表（会社の試験で、毎日任せた記録とは別）・1X は2026-04 量産開始・一般の出荷は2026年予定・
#     10万年は規模のたとえ・750回は試行錯誤の記録・足は要らないは台の上でたたむだけ・見立てのあとのつなぎ・札は記録と見立て／論文や本
#     入れなかった（筋が変わるため）: 題と問いの言い換え・人の作業動画の章・据え置きの専用ロボット・確かめる3つの3つ目の言い換え
#   2026-10-28 3版。別のエージェントの照合（_照合_20261028.md）を受けた: 1年で速くなった理由は仮想の練習ではなく機体づくりと投資（SciAm の専門家）。仮想の練習は走れる土台。
#     2本足の Cassie（2021）でつなぐ・地面の言い方・電池と機体交換と伴走の車・HONOR は「見当たらない」・ETH と NVIDIA・GPU 1枚・π0 の1万時間はいろいろな作業の合計・
#     1X は会社自身の説明・ゴールドバーグの10万年の意味・やさしい側に移ったはゴールドバーグの発言に・布の仮想の研究も進んでいる・ディン助教の「思い込み」・答えで「まだ」の定義を言い直す
#   2026-10-28 2版。エイイチの実感（2節26）を4つ入れた。C節の読み替え（冒頭で数字と謎・答えは山場）はエイイチが了承。
#     エイイチの言葉（言い回しだけ整え、中身は足していない）:
#       1 ニュースを見て「ロボットの性能はすごく上がっているけど、能力は仕事に関係なさそうだね（少なくとも直接は）」
#       2 机の上「上カメラだけなので、アームやグリッパーでブロックが隠れたりして、掴む精度や確率を上げられなくて苦労した」
#       3 「どの家庭でもということになるには5年くらいはかかりそうかなと感じています」
#       4 「中国の人型ロボットの派手な動きは出資を集める意図が強く、現場で仕事ができるかは別」（強く主張してよい、とエイイチ）
#   2026-10-28 1版。エイイチが題材A（世界記録と洗濯物）に決め、「この台本から作ってみて」と指示。
#   型: 参考動画（海外ワイパラジオ・GMO の回）を分析して決めた謎解きの型。冒頭で変な事実（謎）を出し、答えは山場（全体の75〜80%）で出す。
#     C節の「冒頭30秒で答えか数字を出す」は、この型では「冒頭で数字と謎を出し、答えは山場」と読む（エイイチに確認中）。1節の「先に結論」は置かない。
#     地図（たとえ）は1つだけ: ロボットの学校。走る＝体育、たたむ＝家庭科。手がかりは3つ（練習する場所・相手の形・お手本の数）。
#     出どころの札は4種類（大会や会社の発表／報道／研究の論文／エイイチの見立て）。札は画面の右上に出す（scenes.py で）。
#   エイイチ（ドット絵・右下の小窓・声なし）が出る場面: ei_intro・ei_react（初登場の紹介と、ニュースへの感想＝腕組み・名前の札）、ei_desk*（現場の証人・自分で確かめた所＝うなずく→指さす）、mitate*（見立て＝腕組み→ひらめく）。
#     ほかの場面には出さない（2026-10-28 エイイチと決めた: 出るのは、自分で確かめた所・現場の証言・見立ての3つだけ）。
#   ★まだのこと:
#     - エイイチの実感の一言（2節26）: 台本を見てもらったあとに3〜5問聞いて入れる。いまは入れていない（Claude が想像で書かない）
#     - 見立ての2つ目: 本人に聞いてから。いまは「人型である必要はない派」（見立て帳 2026-10-19）だけを使っている
#     - 別のエージェントの照合（事実・言い過ぎ）と codex は、この版のあと
#   要確認（照合で必ず見る）:
#     - 閃電が「自律で」走ったか（36Kr Japan だけが「自律ナビのみ」と書いている）。速さだけなら遠隔操作の HONOR 機が48分19秒で最速、1.2倍の補正で閃電が優勝
#     - ei_desk2 の「要所の姿勢を手で教えて再生して撮る」は LOG349（2026-10-18）の記事と照らす（site_archive は 10-12 までで、まだ入っていない）
#     - 1X NEO の「洗濯物は人が遠くから手伝う」は二次（the Gadgeteer 2026-05・WSJ の取材）
#     - ゴールドバーグさんの10万年は二次（UC Berkeley の記事）。原文は Science Robotics 2025-08-27
#   数字と出典（2026-10-28 に別のエージェントが開いて確かめた。詳しくは _事実確認_20261028.md）:
#     - 2026-04-19 北京亦庄 人型ロボット ハーフマラソン: 21.0975km・300台超・100チーム超・優勝 閃電（HONOR）50分26秒・遠隔操作は1.2倍で採点・自律は約4割
#       新華社 https://www.news.cn/sports/20260419/c91172da5ef84342b7b07fb3c2ef8f12/c.html ／北京市政府 https://english.beijing.gov.cn/latest/news/202604/t20260419_4593508.html ／中国新聞網・China Daily・AP・TechCrunch・Scientific American
#     - 2025年の第1回: 天工 Ultra 2時間40分42秒（新華社）。160.7分÷50.4分＝約3.2倍
#     - 男子ハーフマラソンの世界記録: 56分51秒（ケジェルチャ・2026-08-23 ブエノスアイレス・World Athletics は公認手続き中）。公認済みは57分20秒（キプリモ・2026-03-08）
#       56:51−50:26＝6分25秒（6分あまり）。56分51秒は大会の後（8月）に出た世界記録候補で公認手続き中。57分20秒（2026-03-08）の公認発表は2026-09-03
#     - Rudin ら 2021（ETH Zurich・CoRL）: 4096台を同時・平地4分未満・でこぼこ20分未満・GPU 1枚・実機（ANYmal・四足）に移せた https://arxiv.org/pdf/2109.11978
#     - 布のシミュレーションの難しさ: RGBench（2025） https://arxiv.org/html/2511.06434
#     - π0（Physical Intelligence）: 双腕・固定・事前学習のロボットデータ1万時間超・複雑な作業は1回5〜20分 https://arxiv.org/html/2410.24164v3
#     - Figure 2025-08-12: タオルを完全に自律でたたんだと発表（速さ・成功率は非公表） https://figure.ai/news/helix-learns-to-fold-laundry
#     - 1X NEO: 2025-10 予約開始（家庭向け）。報道で洗濯物は遠隔の手伝い
#     - ゴールドバーグ: 10万年分のデータの差 https://vcresearch.berkeley.edu/news/are-we-truly-verge-humanoid-robot-revolution
#     - モラベック『Mind Children』1988年（趣旨。原書は未確認・概要欄に書く）
#     - Scientific American（専門家の見方・Brooks の「見せもの」・仮想の世界での練習が理由の1つという推測）
#     - エイイチの机の上: KIOXIA runs/pick_place_ledger_v3.csv が750行（2026-06-18〜2026-10-22。失敗も含めた通しの試行）。2026-10-28 に数えた
# 何の動画か（5行・video_rules.md 2節16）
#   1. 謎: 人型ロボットがハーフマラソンで人間の世界記録より速く走った。なのに、家で洗濯物を任せられる人型ロボットはまだない。なぜ？
#   2. 手がかり1 練習する場所: 走るのは仮想の世界で何千台も同時に練習できる（相手は地面）
#   3. 手がかり2 相手の形: 布は形が毎回変わり、仮想の世界で正しく動かしにくい
#   4. 手がかり3 お手本の数: だから本物のお手本が要り、集めるのに本物の時間がかかる（机の上の証人）
#   5. 解決: 人に簡単なことほどロボットには難しい（モラベック）。走るはやさしい側に移り始め、手で扱うは難しい側に残る。動画を見たら確かめる3つ
# 話すのはハコブくん。エイイチは三人称で呼ぶ（video_rules.md 3-1）
#
# 各要素: (場面の名前, 表情, 字幕の文, 後ろの間[秒])  間を省略すると 0.35 秒
# 字幕の文の中の「｜」: 1文を読み上げたまま、字幕だけをそこで次の1枚に替える
FACES = ("base", "smile", "surprise", "doubt", "think", "trouble", "joy", "wink")

SEGS = [
 # 0 謎
 ("hook", "surprise", "人間の世界記録より速く走るロボットがいるのに、家の洗濯物を任せられるロボットは、まだ見当たらない。"),
 ("hook", "smile", "作り話のようですが、今年、本当にあった話です。", 1.2),
 ("hook_race", "base", "2026年の4月、北京。人型ロボットが300台以上集まって、ハーフマラソンを走りました。"),
 ("hook_time", "surprise", "優勝したロボットのタイムは、50分26秒。21キロあまりを、です。"),
 ("hook_wr", "doubt", "人間の男子の世界記録候補は、この8月に出た56分51秒。まだ公認の手続き中ですが……ロボットのほうが、6分あまり速いんです。"),
 ("hook_last", "base", "しかも1年前の大会の優勝は、2時間40分42秒。機体はちがいますが、優勝タイムで比べると、平均の速さは3倍あまりです。"),
 ("hook_joke", "trouble", "ハコブくんは、走るのは最初からあきらめています。", 1.2),
 ("ei_intro", "smile", "ここで、もう1人紹介させてください。この番組を作っている、エイイチです。"),
 ("ei_react", "think", "このニュースを見たエイイチの感想は……"),
 ("ei_react", "think", "ロボットの性能は、すごく上がっているけど、その能力は、仕事には関係なさそうだね。少なくとも、直接は。", 1.2),
 ("hook_turn", "doubt", "じゃあ、ここで1つ聞かせてください。あなたの家の洗濯物、このロボットに任せられると思いますか。", 1.2),
 ("hook_answer", "think", "答えは、まだ、です。｜今日までに確かめた公開資料では、｜人の手を借りずに、家で毎日洗濯物を｜たたみ続けている、人の形をしたロボットは、見当たりませんでした。"),
 ("hook_q2", "surprise", "人間より速く走れるのに、洗濯物は任せられない。｜この逆転、ちょっと不思議じゃないですか。", 1.8),
 # 1 自己紹介
 ("title", "smile", "Pixels to Motors。案内役のハコブくんです。"),
 ("title", "base", "この番組では、フィジカルAIのニュースや実機の記録から、現場で使える形を考えます。"),
 ("title_eiichi", "smile", "エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。｜その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。", 1.8),
 # 2 今日の謎
 ("question", "base", "今日は、この謎を解いていきます。走るのは人間を追い越したのに、なぜ、たたむのは、まだなのか。"),
 ("define", "base", "ここで言う、まだ、は、家で、人の手を借りずに、毎日任せられるところまでは来ていない、という意味です。"),
 ("teaser", "wink", "先に言っておくと、犯人は、ロボットの足でも、手でもありません。", 1.2),
 # 3 聞くときの約束
 ("promise_cards", "base", "謎を解く前に、1つだけ約束を。今日の話は、出どころを、画面の左上に札で出します。"),
 ("promise_cards", "smile", "大会や会社の発表、ニュース、論文や本、そしてエイイチの記録と見立て。どこまで信じるかは、札を見て決めてください。", 1.2),
 ("promise_fair", "base", "それから、ロボットのタイムは、人の記録と同じ条件ではありません。"),
 ("promise_fair", "base", "電池の交換や、罰則つきの機体の交換が認められ、後ろには伴走の車。自律で走る区分でも、一部の人の補助は認められていました。"),
 ("promise_fair", "smile", "それでも、記録が大きく縮んだのは確かです。ここを手がかりにします。", 1.8),
 # 4 地図（たとえは1つだけ）
 ("map", "think", "たとえを1つだけ置かせてください。ロボットの学校です。走るのは体育、洗濯物をたたむのは家庭科。"),
 ("map2", "smile", "同じ学校の生徒が、体育では世界記録を追い越したのに、家庭科ではまだ、先生の手を借りている。｜成績表にすると、なかなか極端です。"),
 ("toc", "base", "この差を、3つの手がかりで解いていきます。1つ目は、練習する場所。2つ目は、相手の形。3つ目は、お手本の数です。"),
 ("toc", "smile", "特に2つ目は、洗濯物のほうが一枚上手、という話です。最後に、エイイチの見立てを話します。", 1.8),
 # 5 ハコブくんの早とちり
 ("hayatochiri", "joy", "とはいえ、ハコブくんは最初、手のほうが足より部品が細かいからだ、と思いました。"),
 ("hayatochiri2", "trouble", "……でも、細かく動くロボットの手は、もう作られ始めています。問題は、その手の動かし方を、どうやって覚えさせるか、なんです。", 1.8),
 # 6 手がかり1 練習する場所
 ("c1", "base", "1つ目の手がかり、練習する場所です。", 1.2),
 ("c1", "base", "一言で言うと、体育の練習は、コンピューターの中でできます。"),
 ("c1_sim", "think", "スイスのチューリッヒ工科大学とNVIDIAの研究では、コンピューターの中の仮想の世界に、4本足のロボットを4096台並べて、同時に歩く練習をさせました。"),
 ("c1_sim", "surprise", "平らな地面なら、4分足らずで歩き方を覚え、でこぼこの地面でも、20分足らずでした。使ったのは、画像を処理する部品を1枚積んだ、計算機1台です。"),
 ("c1_sim", "base", "そして、覚えた歩き方を、本物のロボットに移して、動かせました。"),
 ("c1_joke", "smile", "4096台が、転んだらやり直し。また歩いて、またやり直し。体育館としては、かなりにぎやかです。"),
 ("c1_note", "base", "ただ、これは4本足のロボットの研究です。｜マラソンで優勝した会社が、どう学ばせたかも、今回調べた発表や報道には見当たりませんでした。"),
 ("c1_note", "base", "それでも、2本足のロボットも、2021年には、仮想の世界での練習を使って走れるようになっていた、と開発した大学は伝えています。"),
 ("c1_why", "think", "走るとき、足が触れる相手は、地面です。坂や段差、すべりやすさのちがいはあっても、踏むたびに、布のように形が変わるわけではありません。計算で再現しやすいんです。", 1.2),
 ("c1_speed", "doubt", "では、この1年で記録が大きく縮んだのは、なぜか。モーターや冷やし方といった機体づくりと、投資の積み重ねから説明する専門家もいます。"),
 ("c1_speed", "think", "走りを覚えさせる練習のしかたと、速さを伸ばした機体づくり。この2つは、分けて覚えておいてください。", 1.8),
 # 7 手がかり2 相手の形
 ("c2", "base", "2つ目の手がかり、相手の形です。", 1.2),
 ("c2", "base", "一言で言うと、道路の地面は、布のようには形が変わりません。でも洗濯物は、さわるたびに形が変わります。"),
 ("c2_cloth", "think", "Tシャツをつかんで持ち上げると、袖が垂れて、すそがねじれて、布どうしが重なります。同じ服でも、置かれ方や重なり方は、毎回変わります。"),
 ("c2_cloth", "base", "2025年の研究では、布は取りうる形が限りなくあり、布どうしが何度もぶつかって重なるので、仮想の世界で正しく動かすのが難しい、とされています。"),
 ("c2_cloth", "base", "仮想の布の動きが、本物の布と合わないことも、課題に挙げられています。"),
 ("c2_cloth", "base", "布を本物に近く動かす仮想の世界を作る研究も、進んではいます。ただ、課題はまだ残っている、というのが、この研究の見方です。"),
 ("c2_joke", "smile", "地面の先生も、難しい問題は出します。でも洗濯物の先生は、解いている途中で、問題の形まで変えてきます。"),
 ("c2_joke", "wink", "しかも、正解のたたみ方も、家ごとにちがいます。", 1.2),
 ("c2_end", "base", "だから、たたむ練習では、本物の布の前でお手本を集めて、覚えさせる方法が使われています。", 1.8),
 # 8 手がかり3 お手本の数（今日いちばん大事）
 ("c3", "base", "3つ目の手がかり、お手本の数です。今日いちばん大事なところです。", 1.2),
 ("c3", "base", "一言で言うと、本物のお手本は、集めるのに、本物の時間がかかります。"),
 ("c3_pi", "think", "アメリカのPhysical Intelligenceという会社は、2本の腕のロボットに、かごの服を取り出して、たたんで積ませました。"),
 ("c3_pi", "base", "論文によると、洗濯物に限らず、いろいろな作業を合わせて1万時間を超える、ロボットの動きのデータで、先に学ばせています。｜そして、手の込んだ作業は、1回に5分から20分かかっています。"),
 ("c3_pi", "base", "形は人型ではなく、動かない台に、腕が2本ついたロボットです。"),
 ("c3_figure", "base", "人型では、Figureという会社が、2025年の8月に、タオルを自律でたたむ様子を発表しました。｜そして2026年の9月には、初めて入る30の家で試して、タオルたたみの成功率は62%だった、と発表しています。"),
 ("c3_figure", "base", "ただ、これは会社自身の試験の結果で、家で毎日任せ続けた記録とは、まだ別です。"),
 ("c3_neo", "base", "家庭向けの人型ロボット、1X社のNEOは、2026年の4月に工場での量産を始め、一般のお客さんへの出荷は2026年の予定、と発表しています。覚えていない作業は、会社の担当者が遠くから導く仕組みだと、会社自身が説明しています。"),
 ("c3_gap", "think", "アメリカの研究者、ケン・ゴールドバーグさんは、言葉のAIが学んだ文章は、人が読むと約10万年分になる。ロボットには、それに近い量の動きのデータすらない、と話しています。｜これはデータの規模のたとえで、同じ年数のお手本が要る、と分かったわけではありません。"),
 ("c3_gap", "base", "言葉のAIは、ネットにある文章で学べます。でも、物を扱う動きのお手本は、ネットにはほとんど落ちていません。", 1.2),
 # 証人: エイイチの机の上（エイイチが右下に出る）
 ("ei_desk", "base", "ここで、現場の証人を呼びます。エイイチの机の上です。"),
 ("ei_desk", "base", "エイイチは、小さなロボットアームに、ブロックをつかんで箱に置かせる練習を続けています。"),
 ("ei_desk", "think", "台帳に残っている、つかんでから置くまでの通しの試行は、6月から10月までで750回。失敗も含めた、試行錯誤の記録です。"),
 ("ei_desk", "base", "固くて形の変わらないブロック1つでも、これだけの回数を重ねています。"),
 ("ei_desk2", "base", "そしていまは、アームに覚えさせるお手本を集めるのに、アームを手で動かして要所の姿勢を教え、それを再生して撮る、というやり方を試しています。"),
 ("ei_desk2", "base", "いちばん苦労したことを、エイイチに聞くと……"),
 ("ei_desk2", "trouble", "カメラが上の1台だけなので、アームやグリッパーでブロックが隠れたりして、つかむ精度や確率を上げられなくて、苦労したよ。"),
 ("c3_end", "base", "洗濯物なら、形が変わるぶん、出会う場面はもっと多くなります。そのお手本を、どう集めるか。いま、各社が工夫しているところです。", 1.8),
 # 9 謎が解ける
 ("solve", "think", "さて、3つの手がかりがそろいました。冒頭の謎を解きます。"),
 ("solve_run", "base", "走れるようになった土台には、相手が形の変わらない地面で、仮想の世界でも練習しやすいことがある、と考えられます。そして、この1年で記録が縮んだのは、機体づくりと投資の積み重ね、と見る専門家もいます。"),
 ("solve_fold", "base", "たたむのがまだなのは、相手が形を変える布で、仮想の世界では練習しにくく、本物のお手本を集めるにも時間がかかることが、理由の1つだと考えられます。", 1.2),
 ("solve_moravec", "think", "実は、この難しさの逆転は、40年近く前から指摘されてきました。"),
 ("solve_moravec", "base", "ロボットの研究者、ハンス・モラベックさんは、1988年の本で、こんな趣旨のことを書いています。"),
 ("solve_moravec", "base", "コンピューターに、大人並みの知能テストを解かせるのは、比較的やさしい。でも、1歳の子ども並みに、見て動く力を持たせるのは、難しい。"),
 ("solve_twist", "surprise", "そしていま、ゴールドバーグさんも、仮想の世界の練習は、走ることや宙返りではかなりうまくいくが、器用な手作業ではうまくいかないようだ、と話しています。"),
 ("solve_twist", "base", "難しい側に残っているのが、手で物を扱うこと。洗濯物は、その代表です。"),
 ("solve_twist", "think", "アメリカの別の研究者は、人より速く走るほうが、洗濯物をたたむより難しく思えるのは、人の思い込みだ、とも話しています。", 1.8),
 # 10 見立て（エイイチが右下に出る）
 ("mitate", "base", "ここからは、エイイチの見立てです。", 1.2),
 ("mitate1", "think", "エイイチは、ロボットが人型である必要はない、という考えです。"),
 ("mitate1", "base", "実際、さっきの洗濯物の実験も、動かない台に、腕が2本の形でした。決まった台の上でたたむだけなら、足は要りません。"),
 ("mitate2", "base", "そしてエイイチは、はっきりこう見ています。"),
 ("mitate2", "base", "中国の人型ロボットの派手な動きは、出資を集める意図が強い。現場で仕事ができるかは、別の話だよ。"),
 ("mitate2", "think", "マラソンで確かめられたのは、その条件で走る力です。現場で仕事ができるかは、仕事ごとに確かめる必要があります。"),
 ("mitate3", "base", "では、家の洗濯物を任せられる日は、いつ来るのか。エイイチに聞きました。"),
 ("mitate3", "base", "どの家庭でも、ということになるには、5年くらいはかかりそうかなと感じています。"),
 ("mitate_end", "base", "走るのが速くなったニュースと、家で洗濯物を任せられる日は、別のものさしで見る必要があります。", 1.8),
 # 11 謎の答えと、持ち帰る3つ
 ("answer", "base", "では、今日の謎に答えます。"),
 ("answer", "base", "走るのが人間を追い越したのは、仮想の世界でも練習しやすい動きの上に、機体づくりと投資が積み重なったから、と考えられます。｜たたむのがまだなのは、布は形が決まらず、仮想の世界で練習しにくく、本物のお手本を集めるにも時間がかかることが、理由の1つだと考えられます。"),
 ("answer", "base", "ここでの、まだ、は、家で、人の手を借りずに、毎日任せられる段階には来ていない、という意味でした。", 1.2),
 ("check3", "smile", "最後に、人型ロボットのすごい動画を次に見たとき、確かめる3つを渡します。"),
 ("check3", "base", "1つ目、自分で動いているのか、人が遠くから操作しているのか。マラソンでも、操作したロボットのタイムは、1.2倍にして比べられていました。"),
 ("check3", "base", "2つ目、何回やって、何回できたのか。うまくいった1回だけの動画かもしれません。"),
 ("check3", "base", "3つ目、相手は形の変わる物か。形の変わる物なら、本物のお手本をどれだけ集めたかを見てください。", 1.2),
 ("hakobu_end", "smile", "ちなみにハコブくんは、病院の廊下は走りません。たたむのも、まだ練習中です。", 1.8),
 # 12 アウトロ
 ("outro", "smile", "この動画が役に立ったら、高評価とチャンネル登録をお願いします。"),
 ("outro", "base", "ロボットの開発や導入の相談は、概要欄の連絡先から、エイイチに直接どうぞ。"),
 ("outro", "wink", "コメントは、エイイチが全部読んでいます。それではまた。", 1.2),
]

# エイイチの声で読む文（槙原の声を流用・2026-10-28 エイイチの指示）。ハコブくんの口は動かさない
EI_LINES = [i for i, seg in enumerate(SEGS) if seg[2].startswith((
    "ロボットの性能は、すごく上がっているけど",
    "カメラが上の1台だけなので",
    "中国の人型ロボットの派手な動きは",
    "どの家庭でも、ということになるには",
))]

# 「エイイチ」を残す文（自己紹介・目次の最後・見立ての入り・アウトロの2文のほかに、名前が要る文）。文の頭で探す（video_rules.md 3-1）
NAME_OK = [i + 1 for i, seg in enumerate(SEGS) if seg[2].startswith((
    "大会や会社の発表、ニュース、論文や本、そしてエイイチ",
    "ここで、現場の証人を呼びます",
    "エイイチは、小さなロボットアームに",
    "エイイチは、ロボットが人型である必要はない",
    "このニュースを見たエイイチの感想は",
    "ここで、もう1人紹介させてください",
    "いちばん苦労したことを、エイイチに聞くと",
    "そしてエイイチは、はっきりこう見ています",
    "では、家の洗濯物を任せられる日は",
))]

# 読み上げ用の読み（仮音声 Open JTalk 用。字幕は元の表記のまま）
READ = [
 ("Pixels to Motors", "ピクセルズ トゥー モーターズ"),
 ("YouTube", "ユーチューブ"),
 ("SimPy", "シムパイ"),
 ("Python", "パイソン"),
 ("Unity", "ユニティ"),
 ("フィジカルAI", "フィジカルエーアイ"),
 ("AI", "エーアイ"),
 ("1人", "ひとり"), ("2人", "ふたり"), ("1つ", "ひとつ"), ("2つ", "ふたつ"), ("3つ", "みっつ"),
 ("2,100", "にせんひゃく"), ("3,000", "さんぜん"),
 ("栄一", "えいいち"),
 ("Physical Intelligence", "フィジカル インテリジェンス"), ("Figure", "フィギュア"), ("1X", "ワンエックス"), ("NEO", "ネオ"),
 ("4096台", "よんせんきゅうじゅうろくだい"), ("Tシャツ", "ティーシャツ"),
 ("「", ""), ("」", ""), ("『", ""), ("』", ""), ("｜", ""), ("…", ""),
]

# ElevenLabs の声で読み間違えた語だけ、読みを直す（tts_eleven.py が使う。字幕は変えない）
ELEVEN_READ = [
    ('エイイチ', '栄一'),   # video_rules.md 3-1（2026-10-12 決定）
    ('額だけ', 'がくだけ'),
    ('裏表', 'うらおもて'),
    ('R2R2R', 'リアルツーレンダーツーリアル'),
    ('SIer', 'エスアイヤー'),
    ('ロボットの側', 'ロボットのがわ'),
    ('4コママンガ', 'よんコマまんが'),
    ('OpenAI', 'オープンエーアイ'),
    ('Claude Code', 'クロード コード'),
    ('Claude', 'クロード'),
    ('描く', 'えがく'), ('描き', 'えがき'),
    ('物差し', 'ものさし'), ('力制御', 'ちからせいぎょ'), ('人型', 'ひとがた'),
    ('Mac', 'マック'),
    ('SimPy', 'シムパイ'),
    ('Python', 'パイソン'),
    ('Unity', 'ユニティ'),
    # この回で先回りして足す読み（--try で確かめる）
    ('Physical Intelligence', 'フィジカル インテリジェンス'),
    ('Figure', 'フィギュア'),
    ('1X', 'ワンエックス'),
    ('NEO', 'ネオ'),
    ('4096台', 'よんせんきゅうじゅうろくだい'),
    ('一枚上手', 'いちまいうわて'),
    ('二度と', 'にどと'),
]

# 間延び対策：ひと息が長い文だけ、読み上げ用に読点を足す（字幕は変えない）
OVERRIDE = {
 "エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。｜その中で分かったことと、そこから考えた見立てを、ハコブくんがお伝えします。":
   "エイイチは、本業のデザイナーをしながら、ロボティクスの研究と開発をしています。その中で分かったことと、そこから考えた見立てを、ハコブくんが、お伝えします。",
}


def reading(t):
    t = OVERRIDE.get(t, t)
    for a, b in READ:
        t = t.replace(a, b)
    return t


def parse(seg):
    """1行を (場面, 表情, 字幕, 間) にそろえる。表情の欄がない古い形 (場面, 字幕[, 間]) も読む"""
    if len(seg) >= 3 and seg[1] in FACES:
        scene, face, text = seg[0], seg[1], seg[2]
        pause = seg[3] if len(seg) > 3 else 0.35
    else:
        scene, face, text = seg[0], "base", seg[1]
        pause = seg[2] if len(seg) > 2 else 0.35
    return scene, face, text, pause
