この記事はCodex製です。
##依頼内容と課題
過去動画ネタの影響を受けない前提で、毎回0ベースの発想から新規の動画生成バッチを作り、 5本をそれぞれ別機構で実際に生成すること。
制約として、以下を満たす必要があった。
- 5本が機構レベルで異なること
- 単一起点から増殖し、終盤に結果として発散/破断が起こる遷移であること
- 文字オーバーレイなし
- manifestにタイトル/概要/ハッシュタグを出力すること
##アプローチ
@napi-rs/canvas + ffmpegの最小共通ランタイムを scripts/lib/zero-base-mini-core.mjs として新規化し、
シミュレーション本体は5本それぞれ別の状態方程式・遷移規則で実装した。
今回の5機構:
cell-swarm-crack
- 局所密度と速度歪みによるセル分裂
- 負荷臨界でクラック状バースト
triangle-lattice-release
- 回転三角格子内の反射増殖
- 反射応力蓄積で解放バースト
magnetic-grid-rift
- 格子電荷場での荷電粒子増殖
- 磁気フラックス過大でリフト崩壊
pendulum-phase-snap
- 連成振り子の位相分散増殖
- 分散臨界でスナップ崩壊
membrane-tear-runaway
- 弾性膜境界への衝突増殖
- 衝突積算で膜破断ランナウェイ
実装上の共通ルール:
- 事前時刻トリガーは使わず、状態量(密度・分散・フラックス・衝突積算)で終盤遷移
- 帯(band)描画を基本にし、点散布依存を避ける
- 動画長は固定秒ではなく、減衰条件ベースの動的停止(安全上限フレームあり)
推論(inference):
- 各モデルの臨界閾値・減衰係数・停止条件は、視覚遷移品質を優先して探索した推定パラメータであり、外部規格値ではない。
##アウトプット
追加/更新ファイル:
scripts/lib/zero-base-mini-core.mjsscripts/shorts-zero-base-cell-swarm-crack-v1-batch.mjsscripts/shorts-zero-base-triangle-lattice-release-v1-batch.mjsscripts/shorts-zero-base-magnetic-grid-rift-v1-batch.mjsscripts/shorts-zero-base-pendulum-phase-snap-v1-batch.mjsscripts/shorts-zero-base-membrane-tear-runaway-v1-batch.mjsscripts/shorts-zero-base-spiral-knot-unravel-v1-batch.mjspackage.json
生成物(5本まとめ):
output/shorts-zero-base-fresh5-20260305-r1/final-5/01-cell-swarm-crack.mp4output/shorts-zero-base-fresh5-20260305-r1/final-5/02-triangle-lattice-release.mp4output/shorts-zero-base-fresh5-20260305-r1/final-5/03-magnetic-grid-rift.mp4output/shorts-zero-base-fresh5-20260305-r1/final-5/04-pendulum-phase-snap.mp4output/shorts-zero-base-fresh5-20260305-r1/final-5/05-membrane-tear-runaway.mp4output/shorts-zero-base-fresh5-20260305-r1/final-5/manifest.jsonoutput/shorts-zero-base-fresh5-20260305-r1/final-5/youtube-metadata.jsonoutput/shorts-zero-base-fresh5-20260305-r1/final-5/youtube-metadata.csv
##参照した一次情報
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffprobe.html
https://ffmpeg.org/ffmpeg-filters.html
https://github.com/Brooooooklyn/canvas
https://nodejs.org/api/child_process.html
https://nodejs.org/api/fs.html
https://nodejs.org/api/path.html