# -*- coding: utf-8 -*-
"""Claude Codeへの頼み方(ショート専用・舞台型・2026-11-06)
エイイチの言葉: Claude Code への指示を自分で貼って渡す形はNG(2026-11-03)。依頼箱の決まりは 依頼箱/README.md"""
from butai_parts import *
OUTRO_K = 6 # 締めの文の番号(narration.py の最後に足した文)
NAME, VER = "Claude Codeへの頼み方", 4
HEAD = "Claude Code
どう頼む?"
T_ON = (0, 1.3)
def flow(names, t0, step, top=300, w=252, lit_all=False):
out = ""
for k, (nm, sm) in enumerate(names):
an = f"animation:{a('on', t0 + k * step, .25)}" if t0 is not None else ""
out += (f'
'
f'{sm}{nm}
')
return out
def scene(T, S):
h = CSS
# 0: まだ手で貼ってる?(ターミナルにコピー→貼り付け)
t0 = T(0, 1.3)
h += win(t0, T(1, 0), kick("いままで")
+ '$ claude
> (指示を貼り付け)
'
+ f'コピー → 貼り付け
')
# 1: 僕が依頼を書いて、依頼箱に置く
t1 = T(1, 0)
h += win(t1, T(2, 0), kick("いまは")
+ f'依頼
'
+ ''
+ 'Claude が置く依頼箱
')
# 2: Mac の見張り係が、1件ずつ Claude Code に渡す
t2, s2 = T(2, 0), S(2)
h += win(t2, T(3, 0), kick("1件ずつ") + '見張り係が、自動で渡す
'
+ flow([("依頼箱", "置く"), ("見張り係", "Mac"), ("Claude Code", "作る")], t2 + 0.4, (s2 - 0.8) / 2))
# 3: 判定つきで報告(合格・止めた・失敗)
t3, s3 = T(3, 0), S(3)
chips = "".join(f'判定{nm}
' for k, nm in enumerate(["合格", "止めた", "失敗"]))
h += win(t3, T(4, 0), kick("終わったら") + '判定つきで報告
' + chips)
# 4: 自分で貼って渡すのは、もうナシ
t4, s4 = T(4, 0), S(4)
h += win(t4, T(5, 0), kick("エイイチの決まり")
+ '自分で貼って渡す
'
+ f''
+ f'ナシ
')
# 5: ただし、実機を動かす依頼は確認待ちで止める
t5 = T(5, 0)
h += win(t5, None, kick("ただし")
+ f'ふだんの依頼自動で回す
'
+ f'実機を動かす依頼確認待ちで
止める
')
h += outro(T, OUTRO_K) # 締め:サイトへの入口
return h
def OVER(T):
return stage_fx(T, shakes=[(T(4, 1.8), 0.5)], fx=[dict(kind="shock", t=T(3, 1.0), d=1.6), dict(kind="speed", t=T(4, 1.8), d=0.9)])
FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 2.7, "joy"), (3, 0.0, 4.9, "smile"), (4, 0.0, 2.6, "surprise"), (5, 0.0, 3.0, "wink"), ("end", 0.0, 3.0, "smile")]
POSE = [(-1, 0.0, 2), (1, 0.0, 1), (3, 1.0, 3), (4, 0.0, 2), (5, 0.3, 1)]
LEAN = []
INTRO = "rise"
MOVES = [(1, 0.3, "hop", 1.0), (2, 0.4, "dash", 1.0), (3, 1.0, "jump", 1.0), (5, 0.4, "tilt", 1.2)]
SE = [(-1, 0.0, "se_rise", -9), (0, 1.3, "se_boot", -12), (0, 1.8, "se_pechin", -10), (1, 0.0, "se_whoosh", -12), (1, 1.3, "se_pop", -9),
(2, 0.0, "se_whoosh", -12), (2, 0.4, "se_tick", -12), (2, 2.0, "se_tick", -12), (2, 3.6, "se_tick", -12),
(3, 0.0, "se_whoosh", -12), (3, 1.0, "se_ding", -10), (4, 0.0, "se_whoosh", -12), (4, 1.8, "se_pechin", -7), (5, 0.0, "se_whoosh", -12)]
ENDING = dict(kind="jump", at=(4, 1.8))