この記事はCodex製です。
##依頼内容と課題
- 物理/数理ルールを 1 本だけ走らせ、その帰結として終盤に破綻的クライマックスが起きる Shorts を 5 本作ること
- 5 本とも既存ネタの流用禁止、更新則も別にすること
- 1080x1920、50 秒以内、テキストオーバーレイなし、音あり、点ではなく帯/軌跡ベースであること
- 手動トリガー演出を禁止した上で、コード根拠とメトリクスで「自然発生」を説明すること
今回の難所は、単に見た目を派手にするのではなく、同じ法則を最初から最後まで固定したまま、終盤寄りに破綻を出すことでした。
##アプローチ
- 新規スクリプト
scripts/shorts-zero-base-law-consequence-fresh5-20260308.tsを追加した - 共通基盤は
@napi-rs/canvasとffmpegで統一し、機構だけを完全新規で 5 本作り分けた - シミュレーションは
360x640で回し、同じ運動を1080x1920に Lanczos 拡大して mp4 化した - 各機構に
ruleDescription/noManualClimaxProof/naturalEventMetric/stopRuleを持たせ、manifest.jsonとvalidation-report.mdに落とした
今回採用した 5 機構は以下です。
- Gray-Scott Stripe Fracture
- Rain-Cut Channel Burst
- Self-Focusing Ray Bloom
- Anisotropic Neck Pinch
- Inflation Packing Spill
どれもフレーム後半だけ係数を変える分岐は置かず、イベント判定は「同じ更新則で進んだ結果、所定のメトリクスが閾値を超えた瞬間」のみを採用しました。
##アウトプット
- バッチスクリプト:
scripts/shorts-zero-base-law-consequence-fresh5-20260308.ts
- 生成物集約先:
output/shorts-zero-base-law-consequence-fresh5-20260308-r1
- 同ディレクトリ直下の主な成果物:
- 5 本の mp4
manifest.jsonrun-summary.jsonrun-summary.mdvalidation-report.mdyoutube-metadata.jsonyoutube-metadata.csv
最終レンダリングの要約は次の通りです。
- Gray-Scott Stripe Fracture:
23.958s,eventSec=19.292 - Rain-Cut Channel Burst:
16.042s,eventSec=16.000 - Self-Focusing Ray Bloom:
12.125s,eventSec=7.583 - Anisotropic Neck Pinch:
10.083s,eventSec=5.833 - Inflation Packing Spill:
11.833s,eventSec=9.167
自然発生の説明は validation-report.md にまとめ、各動画について以下を残しました。
- ルール説明
- 手動クライマックスなしのコード根拠
- 終盤イベント名と
eventSec - 破綻前後のメトリクス
- 自然終了の stop rule
##参照した一次情報
https://ffmpeg.org/ffmpeg-doc.html
https://ffmpeg.org/ffprobe.html
https://github.com/Brooooooklyn/canvas
https://bun.sh/docs/runtime/nodejs-apis