# -*- coding: utf-8 -*- """手順をスキルにする(ショート専用・舞台型・2026-11-07) エイイチの言葉: 自分で試してみた回の型を持ち、ネタをはめ込んで作れるようにしておきたい(2026-10-15) 事実: 解説動画づくり(p2m-explainer-video)・ロボット動画の運用分析(robot-video-ops-analysis)・事実確認(fact-checker)は Claude のスキルとして登録して使っている。舞台型は video_rules.md の12節""" from butai_parts import * OUTRO_K = 5 NAME, VER = "手順をスキルにする", 3 HEAD = "動画づくり
毎回ゼロから?" T_ON = (0, 0.6) def scene(T, S): h = CSS # 0: 毎回ゼロから? t0 = T(*T_ON) h += win(t0, T(1, 0), kick("動画づくり") + f'
0から?
') # 1: 手順はスキルにして残してある(札が1枚ずつ重なって束になる) t1, s1 = T(1, 0), S(1) stack = "".join(f'
' for k in range(4)) h += win(t1, T(2, 0), kick("残してあるもの") + stack + f'
Claude のスキル
') # 2: 解説動画・ロボット動画の分析・事実確認(話している1つだけオレンジ) t2, s2 = T(2, 0), S(2) names = ["解説動画", "ロボット動画
の分析", "事実確認"] st = [0.1, s2 * 0.3, s2 * 0.72] cc = "" for k, nm in enumerate(names): an = a("up", t2 + st[k]) + ", " + a("on", t2 + st[k], .2) if k < 2: an += f", off{k} .2s linear {t2 + st[k + 1]:.3f}s forwards" cc += (f'
{nm}
') h += win(t2, T(3, 0), f'' + kick("いま使っているスキル") + cc) # 3: 型を持って、はめ込んで作る(型の空いた所に、ネタがはまる) t3, s3 = T(3, 0), S(3) h += win(t3, T(4, 0), kick("エイイチの考え") + f'
型
' + "".join(f'
' for k in range(3)) + "".join(f'
ネタ
' for k in range(3))) # 4: この舞台も、型のひとつ(モニターの中に、この舞台の小さな絵) t4 = T(4, 0) mini = (f'
' f'
' f'
' f'
' f'
') h += win(t4, None, kick("この舞台も") + mini + f'
型のひとつ
') h += outro(T, OUTRO_K) return h def OVER(T): return stage_fx(T, shakes=[(T(0, 1.4), 0.4)], fx=[dict(kind="stars", t=T(3, 0.0), d=2.9), dict(kind="rays", t=T(4, 1.0), d=2.2)]) FACE = [(-1, 0.0, 1.0, "smile"), (1, 0.0, 3.3, "joy"), (2, 0.0, 3.9, "smile"), (3, 0.0, 2.9, "think"), (4, 0.0, 2.1, "joy"), ("end", 0.0, 3.0, "smile")] POSE = [(-1, 0.0, 1), (0, 0.0, 3), (1, 0.0, 1), (3, 0.0, 2), (4, 0.8, 4)] LEAN = [] INTRO = "hop" MOVES = [(1, 0.2, "dash", 1.0), (2, 0.2, "tilt", 1.0), (4, 0.2, "jump", 1.0)] SE = [(-1, 0.0, "se_whoosh", -9), (0, 0.6, "se_boot", -12), (0, 1.4, "se_pechin", -9), (1, 0.3, "se_pop", -14), (1, 0.55, "se_pop", -14), (1, 0.8, "se_pop", -14), (1, 1.05, "se_pop", -14), (1, 2.0, "se_ding", -11), (2, 0.1, "se_tick", -12), (2, 1.15, "se_tick", -12), (2, 2.8, "se_tick", -12), (3, 0.6, "se_pop", -12), (3, 1.25, "se_pop", -12), (3, 1.9, "se_pop", -12), (4, 1.0, "se_jaran", -10)] ENDING = dict(kind="jump", at=(4, 1.0))