TM紙芝居 4.0 アプリ・教材・ツールチェインガイド
Copyright © 2026 Hiroya Kubo. この文書はCC BY-SA 4.0で提供します。
物語づくりから教材設計、動作確認、完成ファイルの作成までを8ページでつなぐ
対象: 教材・ワークショップ設計者、制作環境担当者、プレビュー/ビルド確認者
文書状態: 固定実装基準を説明する詳細ガイド(正式リリースの操作資料ではない)
調査基準: TM Kamishibai 29c0dea(4.0.0-rc.8)、2026年8月20日
配布状態との区別: 2026年8月20日時点で
v4.0.0-rc.8はprereleaseとして公開されていますが、 正式なv4.0.0ではありません。この文書の説明はrc.8固定実装を基準とし、将来版で同じ画面や ビルド結果になることは保証しません。
この文書は、教材やワークショップを設計する方、制作環境を整える方、プレビュー・ビルドの役割を確認する方の ための詳細ガイドです。初めて4.0の全体像を知るための概要説明書でも、新規作品を作る全員の必須手順書でもありません。 初めて4.0を知る場合は 紙芝居アプリ 4.0 概要説明書 大人向けで、できること、 人・AI・プログラムの役割、制作のサイクルを確認してください。
必要なページは、行う作業に応じて選べます。
| 読者・目的 | 主に読むページ | 次に使う文書 |
|---|---|---|
| 新規作者が制作の仕組みを確認する | 1〜4、6〜7ページ | 実際の記述は台本作成ガイドで進める |
| 教材・ワークショップを設計する | 1、4〜6ページ | 参加方法、役割分担、制作のサイクルを活動へ対応させる |
| 制作環境と配布手順を整える | 2〜3、6、8ページ | 検証、プレビュー、ビルドの境界を環境へ実装する |
| 実装を調査・保守する | 2〜3、7〜8ページ | ソフトウェアメンテナンスガイドへ進む |
教材と制作環境を横断して扱うため、この文書はサイトの「アプリを開発する人向けドキュメント」に配置しています。 ただし、教材設計者にソフトウェア実装の知識を前提とするものではありません。
最初に出てくる言葉は、次の意味です。
| 言葉 | このガイドでの意味 |
|---|---|
| YAML台本 | 場面、セリフ、動きなどを項目と字下げで記録するテキストファイル |
| 作品フォルダー | 台本と、作品で使う画像・音声・ポーズ用データをまとめたフォルダー |
| プレビュー | 完成ファイルを作る前に、ブラウザーで動きや変更を確かめること |
| ビルド | 台本と素材を、一つの完成ファイルへまとめること |
| 制作環境 | 台本の検査、プレビュー、ビルドに使う道具一式 |
1 / 8 アプリと制作の全体像
TM紙芝居4.0は、台本と画像・音声・ポーズ用データを読み込み、見る人がキー、タッチ、ポーズで 参加できるデジタル紙芝居です。作品を作るときは、台本と素材を作品フォルダーへまとめ、内容を検査し、 ブラウザーで動きを確かめてから、配布用の一つのファイルへまとめます。
利用前に確認: 4.0.0-rc.8は公開プレリリースです。安定版4.0.0ではないため、利用する版で台本の検査、ブラウザーでの確認、完成ファイルの作成が使えるかを、制作環境の担当者が確認します。
出典: 紙芝居DSL 4.0 台本作成ガイド、紙芝居DSL 4.0 Schemaリファレンス
プロジェクトから四つの利用形態へ届ける
2 / 8 プロジェクトと成果物
作品の正本は、起点のYAML、必要に応じて取り込むYAML、ローカル素材、project.source.jsonを含む
プロジェクトディレクトリです。同じ検証済みの世代(generation)からプレビューと配布成果物を作ります。
プロジェクトのソース
story.k4.ymlを起点のソースにするincludeでシーンやアセット宣言を分割できる- 素材のパスは宣言したソースからの相対パス
- プロジェクトルート外へのパス脱出とシンボリックリンクを拒否する
四つの利用形態
- Web Preview
- プロジェクトを読み取り専用で選択し、変更を一括して再読み込みする
- CLI検証
- 読みやすい形式またはJSON形式の診断を出力する
- CLIビルド
- ローカルのソースと素材を自己完結SB3へ格納する
- 公開アプリ
- 検証済みStoryDocumentをプラットフォームアダプターで実行する
tutorial-story/
├── project.source.json
├── story.k4.yml
├── ocean.svg
├── opening.mp3
├── rescue-pose/
│ ├── model.json
│ ├── metadata.json
│ └── weights.bin
└── chapters/
├── rescue.k4.yml
└── rescue-background.svg
再現性の要点: プレビューとビルドは、ソースと素材を一つの世代として安定取得します。途中保存や片側だけ新しい状態では、実行中の正常な世代を置き換えません。
include文で大きな物語を分割する
3 / 8 include文
include文を有効にすると、起点のソースから複数のYAMLを読み込み、一つの台本として合成できます。 同じ名前の宣言が重なったときに起点優先や後勝ちは行わず、 重複ID、重複する単一設定、循環を診断してから参照を解決します。
起点のソース
include:
- chapters/rescue.k4.yml
kamishibai: '4.0'
assets:
Ocean:
kind: backdrop
file: ocean.svg
scenes:
opening:
- goto: rescue
取り込まれるソース
assets:
RescueBackground:
kind: backdrop
file: rescue-background.svg
scenes:
rescue:
- stage: RescueBackground
有限な入力: 一つのソースのバイト数、ソース件数、全ファイルの合計バイト数、`include`の深さ、合成後のバイト数に上限を設け、無制限に読み込みません。
参加者の入力をシーンの出来事へ変換する
4 / 8 シーンと入力
シーンには舞台操作、アクターのアクション、音、時間、分岐、キー・タッチ・ポーズ入力を順に記述します。 ナビゲーションと作品内の入力アクションは同じ入力を競合して消費せず、その時点で意味を持つ一つの受け手へ渡します。
kamishibai: '4.0'
assets:
Beach: backdrop
HeroIdle: costume:Hero
actors:
Hero: HeroIdle
scenes:
opening:
- stage: Beach
- Hero.show:
skin: HeroIdle
x: 0
y: -60
scale: 30
- Hero.say:
text: 助けに行こう
waitFor: advance
- keyInputToChangeScene:
Enter: rescue
出典: シーンを書く、Global action
教材で人・AI・プログラムの役割を分ける
5 / 8 DSL 4.0教材設計
DSL 4.0の教材では、物語と演出を決める人、画像やポーズモデルを作るAI、検証済みアクションを順に実行する プログラムの役割を分けて扱います。YAMLと素材がプロジェクト内で対応するため、変更した対象と結果を追跡できます。
教材の境界: AIの出力をそのまま利用せず、プロジェクトへ保存したソースと素材をレビューし、検証とプレビューを通した世代を使用します。
編集・検証・プレビューを一周する
6 / 8 制作のサイクル
作者はYAMLと素材を外部エディターで編集し、スキーマ診断、参照診断、プレビューの順に確認します。 変更が失敗した場合、プレビューは直前の正常な世代を保ち、ソース位置付きの診断を表示します。
作者が確認するもの
- YAML 1.2として解析できる
- スキーマの型、必須フィールド、未知のキーが正しい
- アセット、アクター、シーン、分岐の参照先が存在する
- カメラ、音、入力の終了処理が成立する
プレビューが守るもの
- 書き込み途中のソースを実行対象にしない
- ローカル素材をハッシュと世代で識別する
- 失敗時に正常な実行状態を破壊しない
- 物語上の位置とソースの行・列を診断へ戻す
紙芝居DSL 4.0が物語を構造化する
7 / 8 DSL 4.0説明
紙芝居DSL 4.0は、YAMLのマッピングとリストでアセット、アクター、スタイル、変数、入力設定、分岐、シーン、アクションを 構造化します。型と局所制約はJSON Schema、参照関係と実行上の制約は意味検証器が検査します。
トップレベル
kamishibai: 固定値'4.0'assets: backdrop、costume、sound、poseModel、imageactors: アクターと初期コスチュームtextStyles/bubbleStyles: 文字と吹き出しの見た目controls/branches: 入力と分岐scenes: 実行するシーンとアクション
実行手順
- include文で指定された複数ファイルを安定取得する
- YAMLを制限付きで解析する
- JSON Schemaで構造を検証する
- 参照と意味制約を検証する
- 変更不能なStoryDocumentへ正規化する
- ランタイムがアクションを順に実行する
安全な失敗: 未知のキー、型違反、重複ID、存在しない参照、危険なパスは実行前に診断し、カメラや音声を開始しません。
検証・プレビュー・ビルドを同じ契約で実行する
8 / 8 DSL 4.0ツールチェイン
TM KamishibaiのCLIは配布環境と同じ正規化器、スキーマ、意味検証器、診断モデルを 使います。ビルドはディスク上の候補を再検証し、ソースとローカル素材を含む自己完結SB3を一括して出力します。
tm-kamishibai validate-dsl4 \
--input story.k4.yml \
--format pretty
tm-kamishibai build-dsl4 \
--base base.sb3 \
--project-root tutorial-story \
--source-manifest project.source.json \
--output dist/story.sb3 \
--control-profile production \
--channel bundled
検証
- 読みやすい形式の診断は作者が読む
- JSON診断はエディターやCIが利用する
- 同じ入力から同じStoryDocumentを得る
- 上限値をCLI引数で明示する
ビルド
- プロジェクトルートとマニフェストを明示する
- ローカルのソースと素材をまとめる
- リモート素材は完全性情報付きで扱う
- 完成した候補だけを出力先へ置換する
配布前確認: 検証、Web Preview、ビルド後の自己完結成果物のスモークテストを、同じプロジェクトの世代に対して行います。
目的に応じて、次の文書へ進みます。
- 作品を作る: 紙芝居DSL 4.0 台本作成ガイド
- 作成中にフィールドとアクションの型を調べる: 紙芝居DSL 4.0 Schemaリファレンス
- 実装を理解・保守する: 紙芝居アプリ 4.0 ソフトウェアメンテナンスガイド