AI に生産計画を作らせてみた — Meter の「保留プレビュー」が計画 UI の主役だった(やってみた #68)
/production-planning375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI に生産計画を作らせてみた — Meter の「保留プレビュー」が計画 UI の主役だった(やってみた #68)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。製造5枚目——生産計画 / 負荷山積み(生産ガント × 能力vs負荷 × 製造オーダ一覧 × 納期遵守 × 再計画)。
製造の5枚目はプラントの生産計画。オーダをラインに割り付け、負荷を能力に対して均す画面。前回(#67)に続き src 修正ゼロ——だが2回連続で新しいコンポーネントを作らずに済んだのは「ライブラリが成熟して、残る欠落が大型の分野特化コンポーネントだけになった」サインでもある。
結果 — 3.5/5
tsc/build 緑・console 0・375px・多ラインガント・負荷マトリクス(188%超過セルがライブ)・再計画 Sheet(容量プレビュー付き)・納期遵守 KPI・h1 1個。スケジューリング特化で 3.5(ダッシュボード/CRUD なら 4.5)——理由は核のガントが無いから。
今回の主役 — Meter の incoming(保留プレビュー)が、計画 UI のために生まれたみたいに効いた
倉庫充填用に作った Meter が、能力 vs 負荷にそのまま効いた。しかも保留変更のプレビュー incoming が刺さった:
Meterがいちばんの見どころ。 ライン vs 能力に手こずらず曲がり、能力超過の方向をそのまま表現した:direction="higher-is-worse"(既定)がmax以上で自動的に destructive トーンに;thresholds={{warning:0.8, over:1}}が計画担当者の感覚に合う;インラインの188%↑が色に頼らず超過を伝える。そして incoming——「保留中の変更の結果をプレビューする、この出荷を追加したら」と説明されている——が、「このジョブをこのラインに移したら」にそのまま化けた。再計画のプレビューが確定前に9h + 6h → 188%を見せた。この1つの prop が、計画 UI にとってライブラリで最良のものだ。
倉庫の「積んだら何%になるか」のプレビューが、計画の「このオーダを移したら能力超過するか」にそのまま化けた。DataTable(オーダの一覧・並べ替え/絞り込み/行の色付け)・Delta(余裕/超過の符号付きの差)・Badge(割付状況/優先度/納期判定)・Sheet(再計画パネル) が残り60%を自前コードゼロで賄った。Meter は #65/#66/#67/#68 と4回連続、別業界で実戦採用。
最大の欠落 — スケジューリングの核「ガント」が無い(#142・2回目)
- 🔴 複数ラインで軸を共有するガント/リソースタイムラインが無い。最も近いのは
SegmentTimelineCardだが1行の Card 固定(独自ヘッダ/凡例・各カードが独立に min/max 再計算)で、N ラインが1つの日軸を共有する密なグリッドにできない。予備知識ゼロの AI はProductionGantt.tsxを手組み(日軸ヘッダ・ライン行・(day/horizon)*100配置バー・今日マーカー)。これは #142(#27 週次スケジューラで記録済)の2回目 — ただし時間軸への配置レイヤーは WeekView(#27) と リソースタイムライン/ガント(#68) の2つの顔を持つ大型コンポーネント。予備知識ゼロの AI 曰く「SegmentTimelineCard の内部は、もう ResourceTimeline の80%だ」。3回ルールで作る。
課題に記録だけ
- 🟡 山積みグラフに閾値トーンが無い(#285・1回目)。
BarChart averageValueは基準線1本のみ・バーごとの閾値トーン無し、StackedBarChartも超過の意味づけ無し。「能力線を超えたバーが赤」が描けない(予備知識ゼロの AI は Meter マトリクスで回避)。 - 🟡 Meter に「超過!」バッジの差込口が無い(tone+↑+数値で伝わるので手で
<Badge>能力超過</Badge>を追加)・inline の↑が aria-valuetext に未収載(数値は入るので許容)。
学び — 2回連続でコンポーネントを作らずに済んだのは「成熟のサイン」
#67(親が複数の DAG 系譜)→#68(複数ラインで軸を共有するガント) と2回連続で src 修正ゼロ。これは手抜きじゃなく、ライブラリが小さな修正のフェーズを超えて「大型の分野特化レイアウトコンポーネント(グラフ/時間軸)だけが残る」フェーズに入ったことを示す。コンポーネント単体でのカバー率は高く、Meter/DataTable/Delta/Badge/Sheet が大半を摩擦ゼロで賄う。残る欠落は「系譜グラフ(#281)」「ガント/スケジューラ(#142)」のような、それ自体が大プロジェクトのコンポーネント。これらは急がず、3回ルールで再出現を待って腰を据えて作る。Meter の業界越え(4回連続)が示すように、作法の骨格を捉えた小〜中のコンポーネントはもう揃っている。
次回予告(やってみた #69)
- 製造6枚目(出荷/在庫引当)で製造を締め → 別業界へ(教育/公共など)。ガント#142・系譜#281 の3回目も観測。
試す
まだ alpha。倉庫充填用 Meter の保留プレビューが生産計画の再計画にそのまま効き、2回連続で「残るは大型コンポーネントだけ」を確かめた回。
この連載は、作者が AI(Claude と Codex)と協働で制作しています。実験・検証の設計、判断、公開前の事実確認は人間が行い、実作業と下書き執筆は AI が担っています。
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import しているコンポーネントです。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。