ソースコード説明書
kaedevn-monorepo の全ソースコードを25文書で解説。OSS 化・コントリビューター向けリファレンス。
約780ファイル / 約80,000行
全体構造
アプリケーション
apps/editor - エディタ SPA
kaedevn のメインエディタ。React 19 + Vite 7 + Zustand 5 で構成される SPA。ブロックベースの GUI でページ・ブロック・キャラクター(2D 立ち絵 / VRM 3D / Live2D / Shape Ch)・アセットを管理し、Kaede Script のタグ記法(KS)を生成してプレビューエンジンに送る。KSC(コード記法)ブロックの埋め込みにも対応。
apps/hono - Hono API サーバー
Hono 4 ベースの REST API サーバー。認証、プロジェクト管理、アセット管理、プレビュー生成、AI 執筆支援、管理画面機能を提供する。Prisma ORM で PostgreSQL に接続し、Azure Blob Storage にアセットを格納する。
apps/next - Next.js 認証・管理画面
Next.js App Router ベースの Web アプリケーション。ユーザー認証(登録・ログイン・パスワードリセット)、マイページ、プロジェクト管理、管理画面を提供する。エディタ(apps/editor)へのエントリポイントとして機能する。
apps/ksc-editor - KSC スクリプトエディタ
KSC (TypeScript 風スクリプト言語) 専用のコードエディタ。Monaco Editor を統合し、構文ハイライト、リアルタイム診断、オートコンプリート、ファイルツリー、プレビューペインを備える。ポート 5177 で動作。
パッケージ
packages/core - 共有型定義・コア抽象化
モノレポ全体の基盤パッケージ。Op 命令型、タイムライン型、プラットフォーム抽象化インターフェース(IInput, IAudio, IStorage)、セーブデータスキーマを定義する。他のすべてのパッケージが依存する最下層レイヤー。
packages/compiler - .ks コンパイラ
TyranoScript 風の .ks スクリプトを Op[] (ランタイム命令配列) にコンパイルする。Tokenizer → Parser → Transformer → Finalizer のパイプラインで処理する。コマンドレジストリにより、新コマンドの追加が容易。
packages/ksc-compiler - KSC コンパイラ + VM
KSC (TypeScript 風スクリプト言語) のフルコンパイラと仮想マシン。Lexer → Parser → Checker (型チェック) → Emitter (IR 生成) → VM (実行) のパイプラインで処理する。プリミティブ型、オブジェクト、配列、関数、条件式をサポートする型システムを持つ。
packages/web - PixiJS WebGL エンジン
PixiJS + Filament.js ベースの Web エンジン。Op 命令の実行、スプライト・テキスト・UI のレンダリング、VRM 3D キャラクター(表情 / SpringBone / 独自トゥーン・Filament)、Live2D キャラクター、48 種のスクリーンフィルター、ゲームシステム(セーブ/ロード、バックログ、設定)を提供する。プレビューエンジン (:5175) として動作。
packages/web — フィルター & エフェクト実装(GLSL + JSON)
- **GLSL フィルター**:約 48 種のスクリーンフィルター。`ScreenFilter.ts` が管理し、PixiJS の `Container.filters` に適用する。
packages/interpreter - スクリプトインタプリタ
KSC (Kaede Script Code / `.ksc`) スクリプトの純 JavaScript インタプリタ。VM、デバッグモード(ブレークポイント、変数ウォッチ、トレースログ)、エラーハンドリング(Levenshtein 距離によるコマンド候補提示)を備える。
packages/ai-gateway - LLM クライアント抽象化
複数の LLM プロバイダ(OpenAI, Anthropic, Google Vertex AI, Google Gemini)を統一インターフェースで利用するための抽象化レイヤー。テキスト生成とベクトル埋め込みの両方をサポート。
packages/battle, ui, tools, vscode-ks-ksc
ネイティブ
テスト・スクリプト・設定
tests/ - E2E テスト
Playwright による E2E テスト群。約 129 テストファイル (tests/ 124 + e2e/ 5) で、エディタ、認証、プレビュー、バトル、タイムライン、アセット管理、管理画面をカバーする。ローカル環境と Azure 環境の両方に対応。
scripts/ - スクリプト一覧
開発、テスト、デプロイ、バックアップ、ユーティリティのシェルスクリプトと TypeScript スクリプト。`.sh/.ts/.mjs` 合計約 187 ファイル。
設定ファイル・CI/CD
モノレポのルート設定ファイル、Git hooks、GitHub Actions ワークフロー、Docker 構成、環境変数の一覧と説明。
ビルドガイド
ビルドガイド共通(共通部分)
macOS ビルドガイド
macOS (Apple Silicon / Intel) でネイティブエンジンをビルドし、背景・立ち絵・テキストが表示される状態まで持っていく手順。SDL2 + OpenGL で動作する。
Windows ビルドガイド(Windows 固有の差分)
Windows (x64) でネイティブエンジンをビルドし、ウィンドウに背景・立ち絵・日本語テキスト(VRM も)が表示される状態まで持っていく手順。**MSVC + Ninja** でビルドし、SDL2 は**ソースから SHARED ライブラリ(`*.dll`)**としてビルドする。OpenGL 3.3 Core は GLAD 極小ローダ経由で取得する。Windows 固有差分は `main.cpp` / `GLRenderer.cpp` の `#ifdef _WIN32` に閉じており、他プラットフォームのビルドには影響しない。
iOS ビルドガイド
macOS 上でネイティブエンジンを iOS 向けにクロスビルドし、シミュレーターで動作確認する手順。SDL2 をソースからビルドし、CMake + Xcode 経由でコンパイルする。macOS / Android とエンジンコードは共通で、プラットフォーム差異は `main.cpp` の `#ifdef` ガードのみ。
Android ビルドガイド
macOS 上でネイティブエンジンを Android 向けにクロスビルドし、エミュレーターまたは実機で動作確認する手順。SDL2 をソースからビルドし、NDK 経由でコンパイルする。macOS 側のコードは `#ifdef __ANDROID__` ガードで分岐しており、既存のビルドには影響しない。