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
合成と参照解決
起点取り込み関係重複・循環検査一つのStoryDocument

有限な入力: 一つのソースのバイト数、ソース件数、全ファイルの合計バイト数、`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紙芝居を構成する画像生成AI、ポーズ認識AI、プログラムの役割を7段階で説明する教材図
考える、作る、認識する、結果を物語へ渡すという学習の流れ。
物語、シーン、使うポーズ、安全な操作方法を決める
AI画像を生成し、カメラ映像のポーズを分類する
プログラムスキーマと意味を検証し、宣言されたアクションだけを実行する

教材の境界: AIの出力をそのまま利用せず、プロジェクトへ保存したソースと素材をレビューし、検証とプレビューを通した世代を使用します。

編集・検証・プレビューを一周する

6 / 8 制作のサイクル

作者はYAMLと素材を外部エディターで編集し、スキーマ診断、参照診断、プレビューの順に確認します。 変更が失敗した場合、プレビューは直前の正常な世代を保ち、ソース位置付きの診断を表示します。

物語とポーズを設計ソース・素材を編集検証Web Previewプレイして改善

作者が確認するもの

  • 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、image
  • actors: アクターと初期コスチューム
  • textStylesbubbleStyles: 文字と吹き出しの見た目
  • controlsbranches: 入力と分岐
  • scenes: 実行するシーンとアクション

実行手順

  1. include文で指定された複数ファイルを安定取得する
  2. YAMLを制限付きで解析する
  3. JSON Schemaで構造を検証する
  4. 参照と意味制約を検証する
  5. 変更不能なStoryDocumentへ正規化する
  6. ランタイムがアクションを順に実行する

安全な失敗: 未知のキー、型違反、重複ID、存在しない参照、危険なパスは実行前に診断し、カメラや音声を開始しません。

出典: 紙芝居DSL 4.0 Schemaリファレンス

検証・プレビュー・ビルドを同じ契約で実行する

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、ビルド後の自己完結成果物のスモークテストを、同じプロジェクトの世代に対して行います。

目的に応じて、次の文書へ進みます。