# -*- coding: utf-8 -*- """別のAIに疑わせる(ショート専用・舞台型・2026-11-06) エイイチの言葉: codex に任せると、ただのニュースのようになってしまう(2026-10-28)/最終判断はエイイチ(MASTER)""" from butai_parts import * OUTRO_K = 6 # 締めの文の番号(narration.py の最後に足した文) NAME, VER = "別のAIに疑わせる", 4 HEAD = "AIの間違い
誰が見つける?" T_ON = (0, 1.3) def script_card(left, top, w, t, label="台本", n=5): ln = "".join(f'
' for k, ww in enumerate([w - 90, w - 140, w - 70, w - 160, w - 110][:n])) return f'
{label}
' + ln def scene(T, S): h = CSS # 0: AI が書いた台本 h += win(T(0, 1.3), T(1, 0), kick("AIが書いた台本") + script_card(250, 130, 400, T(0, 1.35))) # 1: 別のAIに、1文ずつ疑わせる(右に疑う役。行を順に照らす) t1, s1 = T(1, 0), S(1) scan = "".join(f'
' for k in range(5)) h += win(t1, T(2, 0), kick("1文ずつ") + scan + script_card(48, 130, 380, t1 - 1, "Claude が書く") + f'
別のAIが疑う
') # 2: 数字の出どころ・言い過ぎ・引用の原文 t2 = T(2, 0) rows = [("ok", "数字の出どころ"), ("ng", "言い過ぎ"), ("ok", "引用の原文")] h += win(t2, T(3, 0), kick("見るところ") + "".join( f'
{"✕" if c == "ng" else "✓"}{tx}
' for k, (c, tx) in enumerate(rows))) # 3: codex に任せると、ただのニュースみたいになる t3, s3 = T(3, 0), S(3) news = ("〇〇社は、新しいロボットを発表しました。
価格は未定で、来年の発売を目指すとしています。
専門家は、今後の普及に期待を寄せています。") h += win(t3, T(4, 0), kick("codex に台本を任せると") + f'
{news}
' + f'
ただのニュース
') # 4: codex は事実確認だけ。話の筋は変えない t4, s4 = T(4, 0), S(4) h += win(t4, T(5, 0), kick("だから") + f'
codex に任せる事実確認
' + f'
変えない話の筋
') # 5: 最後に決めるのは、オレ t5 = T(5, 0) h += win(t5, None, kick("最後に決めるのは") + f'
エイイチ
') h += outro(T, OUTRO_K) # 締め:サイトへの入口 return h def OVER(T): return stage_fx(T, fx=[dict(kind="spot", t=T(5, 0.2), d=3.0, x=690)]) FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 2.6, "joy"), (2, 0.0, 3.4, "think"), (3, 0.0, 3.6, "trouble"), (4, 0.0, 4.6, "wink"), ("end", 0.0, 3.0, "smile")] POSE = [(-1, 0.0, 1), (1, 0.0, 2), (3, 0.0, 1), (4, 0.0, 2), (5, 0.3, 4)] LEAN = [] INTRO = "spin" MOVES = [(1, 0.3, "hop", 1.0), (2, 0.4, "tilt", 1.2), (3, 2.4, "back", 1.0), (5, 0.4, "spin", 1.0)] SE = [(-1, 0.0, "se_spin", -10), (0, 1.3, "se_boot", -12), (1, 0.3, "se_pop", -10)] + [(1, 0.6 + k * 0.4, "se_tick", -14) for k in range(5)] + [ (2, 0.0, "se_whoosh", -12), (2, 0.3, "se_ding", -13), (2, 1.0, "se_buzz", -12), (2, 1.7, "se_ding", -13), (3, 0.0, "se_whoosh", -12), (3, 2.46, "se_pechin", -9), (4, 0.0, "se_whoosh", -12), (5, 0.4, "se_pechin", -6), (5, 0.4, "se_jaran", -11)] ENDING = dict(kind="jump", at=(5, 0.4))