- YAMLベースのスキーマファイルによる柔軟なブロックタイプ定義
- 標準定義(セリフ・地の文)に加えてカスタムタイプを追加可能
- キャラクター管理と感情設定
- 小説形式プレビュー
- 台本形式プレビュー(話者名付きセリフ表示)
- Node.js (v16以上)
- npm または yarn
git clone https://github.com/your-username/fabulor.git
cd fabulor
npm install
npm start
- アプリ起動時に「新規プロジェクト作成」ボタンをクリック
- プロジェクトファイル(.fbl)の保存場所を選択
- スキーマファイルとキャラクターファイルが自動生成されます
- アプリ起動時の最近のプロジェクト一覧からクリック
- または「ファイルから開く」でプロジェクトファイルを選択
- 左サイドバーの「+ 新規シーン」ボタンをクリック
- シーン名を入力してファイルを保存
- 左サイドバーのシーン一覧から任意のシーンをクリック
- シーン名をダブルクリックして直接編集
- 右サイドバーの「+ 新規ブロック」ボタンをクリック
- 選択中のブロックの次に新しいブロックが挿入されます
- エディタでブロックを選択
- 「タイプ」ドロップダウンから種類を選択
- セリフ: キャラクターの台詞
- 地の文: 説明文・描写
- カスタムタイプ: スキーマファイルで定義したタイプ
- セリフブロック: 話者名、感情を設定
- カスタムブロック: スキーマファイルで定義したパラメータを設定
- 「テキスト→シーン」ボタンをクリック
- テキストファイル(.txt)を選択
- 自動的にセリフ・地の文が判定されシーンが生成されます
- ツールバーの「プレビュー」ボタンをクリック
- 表示形式を選択:
- 小説形式: 鍵カッコ付きでセリフを表示
- 台本形式: 話者名を別行で表示
- ツールバーの「CSV出力」ボタンをクリック
- プロジェクトフォルダ内の
output
ディレクトリに全シーンのCSVファイルが生成されます
Type,Tag,Arg1,Arg2,Arg3
dialogue,"tag1,tag2",speaker_name,emotion,text_content
narrative,tag3,,,narrative_text_content
プロジェクト名_schema.yaml
ファイルを編集:
block_types:
system_message:
label: "システムメッセージ"
description: "ゲーム内システムメッセージ"
requires_text: true
parameters:
message_type:
type: "select"
label: "メッセージタイプ"
options:
- {value: "info", label: "情報"}
- {value: "warning", label: "警告"}
default: "info"
stage_direction:
label: "ト書き"
description: "舞台演出指示"
requires_text: true
parameters:
action_type:
type: "text"
label: "動作タイプ"
placeholder: "立つ、座る、歩く等"
default: ""
required: false
location:
type: "text"
label: "場所"
placeholder: "舞台上、下手、上手等"
default: ""
required: false
duration:
type: "number"
label: "継続時間"
placeholder: "秒数"
default: 1.0
required: false
min: 0
step: 0.1
parameter_name:
type: "text"
label: "パラメータ名"
placeholder: "入力例やヒント"
default: "" # デフォルト値
required: false # 必須かどうか
parameter_name:
type: "number"
label: "数値パラメータ"
placeholder: "数値を入力"
default: 0
required: false
min: 0 # 最小値
max: 100 # 最大値(オプション)
step: 0.1 # ステップ値
parameter_name:
type: "select"
label: "選択パラメータ"
default: "option1"
required: true
options:
- value: "option1"
label: "選択肢1"
- value: "option2"
label: "選択肢2"
speaker:
type: "character_select"
label: "話者"
placeholder: "キャラクターを選択"
default: ""
required: false
emotion:
type: "emotion_select"
label: "感情"
default: ""
required: false
プロジェクト名_characters.yaml
ファイルを編集:
characters:
main_character:
name: "主人公"
emotions:
- value: "normal"
label: "通常"
- value: "happy"
label: "喜び"
- value: "sad"
label: "悲しみ"
your-project/
├── MyProject.fbl # プロジェクトファイル
├── MyProject_schema.yaml # ブロックタイプ定義
├── MyProject_characters.yaml # キャラクター定義
├── MyProject_scenes/ # シーンファイル格納フォルダ
│ ├── scene_001.json
│ ├── scene_002.json
│ └── ...
└── output/ # CSVエクスポート先
├── Scene1.csv
├── Scene2.csv
└── ...
- フレームワーク: Electron
- 言語: JavaScript (ES6 modules)
- データ形式: JSON (プロジェクト・シーン), YAML (設定)
Fabulor - Efficient Scenario Writing Tool for Creators