← ドキュメント一覧

MomijiUI — 画像から起こす宣言的UI

スクリーンショットを渡すと、それと一致する画面を宣言的UI(JSON)で再現し、同じ1枚のJSONを native と web で同じに描く。 UIモックを複数プラットフォームへ爆速で出すためのUI層です。

原理:どういう仕組みか

宣言的UI(記述=データ)

12ウィジェット+スキーマで画面を JSON 1枚に。型・制約があるので生成がブレず・機械検証できる。

クロスプラットフォーム

同じ画面JSONを native(C++/SDL) と web(Canvas2D) が同一描画。プラットフォームごとに作り直さない。

部品のビルド時展開

部品(use)+反復(repeat)+算術({{cx+4}})を展開器で平坦化。レンダラは無改修。

作って・見て・直すループ

画像を読む→生成→展開→描画→参照と比較→修正。精度の最後は描画して目で確かめる。

回帰の自動化(SSIM)

レンダーを撮り直しベースラインと SSIM 比較(CPU・GPU不要)。見た目の崩れを機械検知。

参照一致の自動化(ビジョン判定)

レンダーと参照をAIが見比べ、差分を構造化で返す。Workflow で合格まで自動修正。

正直な線引き:再現できるのはレイアウト(位置と形)。ゲームロジック・実アート・アニメは別物。 つまり「どんなゲームも作れる」ではなく「どんなゲームのUIモックも多プラットフォームで爆速に出せる」。

方法:どう作るか

  1. 1参照画像を用意既存ゲームのスクショ。フォルダ階層がそのまま画面遷移木になる。
  2. 2AIが画面JSONを生成構造を読み、共有部品(top-tabs / bottom-nav / char-card / card-grid)+repeat+算術で起こす。
  3. 3展開して検証expand-components で素のツリーへ平坦化 → momiji-validate でスキーマ検証。
  4. 4描画して参照と比較kaedevn_game --capture で1枚撮り、参照画像と並べて差を見る。
  5. 5機械が詰めるSSIM 回帰で壊れ検知、ビジョン判定で参照一致、Workflow で目標スコアまで自動修正。

詳細ドキュメント

作例(ブラウザで開く)

宣言的UIで起こしたゲームを、サイト内のプレイ画面(web ランタイムを iframe 表示)で開けます。

Ad: stickyBottom (728x90)