# -*- coding: utf-8 -*-
"""Claudeに覚えてもらう(ショート専用・舞台型・2026-11-06)
エイイチの言葉: 「同じチャットは同じlog番号にしてください(いい加減覚えてください)」"""
from butai_parts import *
OUTRO_K = 6 # 締めの文の番号(narration.py の最後に足した文)
NAME, VER = "Claudeに覚えてもらう", 4
HEAD = "AIに
覚えてもらうには?"
T_ON = (0, 1.2)
SAY = "同じチャットは、同じLog番号に"
def bubbles(t0, step, t_out=None):
out = ""
for k in range(3):
an = a("up", t0 + k * step)
if t_out is not None:
an += ", " + a("blurOut", t_out + k * 0.12, .6)
out += (f'
'
f'{k + 1}回目{SAY}
')
return out
def scene(T, S):
h = CSS
# 0: 同じことを3回言っている
t0 = T(0, 0)
h += win(T(0, 1.2), T(1, 0), kick("エイイチがClaudeに言ったこと") + bubbles(T(0, 1.25), 0.35))
# 1: 会話が変わると忘れる(吹き出しがぼやけて消える)
t1 = T(1, 0)
h += win(t1, T(2, 0), kick("会話が変わると")
+ "".join(f''
f'{k + 1}回目{SAY}
' for k in range(3)))
# 2: 決めたことは、ルールの本に書き足す
t2, s2 = T(2, 0), S(2)
book_lines = "".join(f''
for k, w in enumerate([240, 200, 250, 180, 230, 210]))
h += win(t2, T(3, 0), kick("ルールの本")
+ '動画のルール'
'video_rules.md
' + book_lines
+ '決めたことを、
本に
書き足す
')
# 3: もう105回書き足した(数え上げ)
t3, s3 = T(3, 0), S(3)
h += win(t3, T(4, 0), kick("動画のルールを書き足した回数")
+ f'0回
'
+ counter_js("cnt", t3 + 0.3, t3 + s3 - 0.6, 105, 0))
# 4: いい加減、覚えてください(4つ目の吹き出しを叩きつける)
t4 = T(4, 0)
h += win(t4, T(5, 0), kick("4回目")
+ "".join(f'{SAY}
' for k in range(3))
+ f'いい加減、覚えてください
')
# 5: 次の会話は、まず本を読むところから
t5, s5 = T(5, 0), S(5)
st = "".join(f''
f'{k + 1}{nm}
' for k, nm in enumerate(["本を読む", "作る", "書き足す"]))
h += win(t5, None, kick("次の会話は") + 'まず、本を読む
ところから
' + st)
h += outro(T, OUTRO_K) # 締め:サイトへの入口
return h
def OVER(T):
return stage_fx(T, fx=[dict(kind="speed", t=T(4, 0.15), d=0.9), dict(kind="shock", t=T(5, 0.3), d=1.6, c="#57B5F8")], shakes=[(T(4, 0.15), 0.5)])
FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 3.0, "trouble"), (3, 0.0, 3.4, "joy"), (4, 0.0, 2.0, "surprise"), (5, 0.0, 3.0, "joy"), ("end", 0.0, 3.0, "smile")]
POSE = [(-1, 0.0, 2), (1, 0.0, 2), (3, 2.8, 3), (4, 0.0, 2), (5, 0.4, 4)]
LEAN = []
INTRO = "drop"
MOVES = [(1, 0.5, "bow", 1.4), (3, 2.6, "jump", 1.0), (4, 0.2, "shake", 1.0), (5, 0.3, "hop", 1.2)]
SE = [(-1, 0.0, "se_rise", -9), (0, 1.2, "se_boot", -12), (0, 1.25, "se_pop", -12), (0, 1.6, "se_pop", -12), (0, 1.95, "se_pop", -12),
(1, 0.8, "se_steam", -14), (2, 0.0, "se_whoosh", -12), (3, 0.0, "se_whoosh", -12), (3, 2.8, "se_ding", -9),
(4, 0.15, "se_pechin", -6), (5, 0.0, "se_whoosh", -12)]
ENDING = dict(kind="fall", at=(5, 2.9)) # ハコブくんの元気な返事でエイイチがコケる