MomijiUI — 命名と「肝(中核概念)」
Generated by Claude Opus 4.8 — 2026年6月2日
宣言的UIシステムの改名(UiKit → MomijiUI)と、その中核概念・命名方針を確定する文書。解説記事・対外発信の用語の根拠とする。
1. 改名の経緯:UiKit → MomijiUI
- 旧称「UiKit」は Apple の UIKit(iOS/iPadOS の UI フレームワーク)と大文字小文字違いだけで衝突。クロスプラットフォームUIを名乗るうえで最も紛らわしい相手で、検索性・誤解・対外発信すべてで損。
- 新称 MomijiUI は KaedeVN(楓)⇄ Momiji(紅葉=楓の葉) でテーマが対応し、和の世界観も一貫。衝突も解消。
- 内部クラス名
UiNode/UiContextは Apple UIKit のクラス(UIView等)と衝突しないため、急ぐ必要は無い(§6 参照)。
2. 肝になる概念:「宣言的な記述 ⇄ インタプリタ」の分離
MomijiUI の本質は1点に集約される:
UI を「描き方(命令的コード)」として持つのをやめ、「何を出すか(宣言的データ)」1枚として持ち、各媒体のインタプリタが同じデータを解釈して描く。
この分離(記述 ⇄ インタプリタ)から、価値がすべて派生する:
| 派生する価値 | なぜ出るか |
|---|---|
| クロスメディア | 同じ記述を native(SDL2) と web(Canvas2D) が解釈するだけ |
| AI 生成可能 | 記述=データだから AI が書ける(コードでなく) |
| 機械検証可能 | スキーマで縛れる → validate / SSIM 回帰が効く |
| 量産 | 部品で組める(部品展開はこの上の道具にすぎない) |
構造的に HTML ⇄ ブラウザ と同じ関係。MomijiUI は「ゲーム/アプリUIの HTML+ブラウザ」を、スキーマで縛った宣言的JSON+小型クロスメディア・インタプリタで実現したもの。
→ だから 名前を付けるべきは「記述」と「インタプリタ」の2つだけ。それが肝だから。部品展開・SSIM・ビジョン判定・Workflow は肝の上に乗る道具であって、肝ではない。
3. 命名方針:肝の2つにだけ Momiji
「概念的に肝になるものにだけ名前を付け、道具は無名で記述する」——肝を埋もれさせないため。
4. 命名表
| 概念 | 名前 | 記事での一文(例) |
|---|---|---|
| システム全体 | MomijiUI | 「画像からUIを起こす宣言的UI、MomijiUI」 |
| 宣言的UIの形式(記述そのもの) | Momiji(.momiji.json) | 「画面を1枚の Momiji で書く」 |
| インタプリタ(描画ランタイム。native(SDL2)/web(Canvas2D)) | Momiji インタプリタ | 「同じ Momiji を2つのインタプリタが同じに描く」 |
Momijiが名詞(宣言的記述そのもの)、MomijiUIがシステム/プラットフォーム、Momiji インタプリタが解釈器。- 対応関係: Momiji ≒ HTML / Momiji インタプリタ ≒ ブラウザ / MomijiUI ≒ Web(プラットフォーム)。
5. 名前を付けないもの(道具)
肝ではないので、MomijiUI 配下の機能として無名で記述する:
- 部品(component) + 展開器(
use/repeat/算術 のビルド時展開) - SSIM 回帰(見た目の壊れ検知)
- ビジョン判定(参照一致のフィードバック)
- 画像→UI の自動詰めループ(Workflow)
補足: 和の工芸サブ名(部品展開=寄木 Yosegi、画像→UI手法=貼り絵 Harie)は候補に挙がったが、不採用。造語を増やすほど読者の負荷が上がり、肝が薄まるため。
6. 記事の中心メッセージ
「UI を HTML のように宣言的データ(Momiji)で持てば、ブラウザのようなインタプリタが媒体を跨いで同じに描く。だから AI が書け、機械が検証でき、量産できる。」
- 正直な線引き(03)も併記する:再現できるのは**レイアウト(位置と形)**で、ゲームロジック・実アートは別。=「UIモックが多媒体で爆速に出せる」。
7. コード改名 Stage 2 のスコープ(後続)
ブランド文言(showcase・docs)は反映済み。実体名の改名は C ゾーン(スキーマ+ビルドに波及)なので、Design Change Note + ビルド/CI/テスト全通し確認付きで段階実施する。
波及先(要更新):
- ファイル/バイナリ:
UiKit.hpp/cpp、uikit-schema.json、uikit_validate、packages/web-uikit/ - 参照: CMake、
.github/workflows/ci.yml、tools/validate-screens.mjs・screen-regression.mjs、game-produceスキル、apps/honoの/api/ui-schema(ui-schema.ts)、各 build スクリプト、録画 spec、docs、showcase のパス
改名の対応付け(方針):
uikit-schema.json→ Momiji 形式のスキーマ(例momiji-schema.json、schema title も MomijiUI に)UiKit(描画ランタイム実体) → Momiji インタプリタ- 深さは段階選択: (a) スキーマtitle+docs / (b) +web ディレクトリ・validate バイナリ / (c) +C++実体まで
この文書は Claude Opus 4.8 が生成しました。内容の正確性は人間のレビューを経て確認してください。
Claude Opus 4.8 — Anthropic