Figmaの渡し方でAIコーディングの精度は変わる

先日、Figmaのデザインファイルを受け取ってコーディングする機会がありました。

渡されたのは .fig ファイル。Figmaから書き出したファイルです。URLではありません。

作業を進めるうちに、ひとつ気づいたことがあります。

同じデザインでも、渡され方によってコーディングの精度が変わる。

今回は実際に手を動かして分かったことを、失敗も含めて書いておきます。

Figmaの渡し方でコーディング精度が変わる

.figファイルは、実は完全に読める

まず意外だったのがここです。

.fig ファイルはFigmaの独自形式なので「Figmaで開かないと中身は見えない」と思っていました。でも実際は違いました。

中身はただのZIPファイルです。展開すると、こういう構造になっています。

ファイル 中身
canvas.fig デザインの全データ(バイナリ)
images/ 使われている画像すべて
meta.json ファイル名・画面サイズなど
thumbnail.png サムネイル

このうち canvas.fig を解析すると、デザインの情報がほぼ全部取り出せます。

今回のファイルから実際に取れたものがこちらです。

  • 画面サイズ 393 × 6464px
  • 要素272個の座標・サイズ(小数点以下まで)
  • 画像53点(元解像度のまま)
  • テキストの実データ全文
  • フォント名・文字サイズ・行間・字間
  • 色(#614d3c のような具体的な値)

つまり Figmaを開かなくても、デザインの数値は完璧に分かるということです。

ここまでは順調でした。

そして失敗しました

数値が全部あるので、あとは組むだけ。そう思って作業を進めました。

ところが完成後、ブラウザで表示して確認したところ、こうなっていました。

見出しの「News」という文字が、装飾の葉っぱイラストで完全に隠れていた。

座標は間違えていません。カンプ通りの位置に配置していました。それでも結果は「文字が読めない」状態でした。

原因は単純です。重なりの前後関係が分からなかったから。

デザインデータには「葉っぱは x=160 の位置」という情報はあります。でも「葉っぱは見出しの後ろに敷く飾り」なのか「見出しの横に置くアクセント」なのかは、数値だけでは判断できません。

もし完成イメージを見られていれば、一目で分かったはずでした。

なぜ見た目を確認できなかったのか

.fig ファイルにはサムネイル画像も入っています。だからそれを見れば良さそうなものですが、開いてみたらこのサイズでした。

24 × 395ピクセル。

親指の爪ほどの大きさです。何が描いてあるか判別できません。

結局、私は数値だけを頼りに組み立てて、レンダリングして初めてバグに気づいた、という流れでした。

.figファイルとURL、どちらが正確か

この経験から整理したのがこちらです。

.figファイルとURLの比較

.figファイル 共有URL
座標・サイズの正確さ ◎ 完全一致 ○ 整形される
画像の質 ◎ 原本のまま ○ 書き出し依存
見た目の確認 × ほぼ不可 ◎ スクショで確認できる
アクセス権限 ◎ 不要 × 必要

数値の正確さだけなら .fig の勝ちです。Figmaが内部で持っているデータそのものなので、丸められることがありません。

それでも私の結論はこうです。

総合的にはURLの方が正確に作れる。

理由は、今回の失敗そのものです。数値が完璧でも、それが正しく組めているか確認できなければ意味がありません。

一番いいのは「両方」

とはいえ、URLには権限の問題があります。他社が作ったファイルだと、そもそもアクセスできないことも多いです。

なので現実的にはこうなります。

  • URLを渡せるなら URLが一番いい
  • 渡せないなら .fig ファイル + 画面のスクショ数枚

スクショはFigmaの画面をそのまま撮ったもので構いません。これが1枚あるだけで精度が変わります。今回それがあれば、葉っぱの件は最初から正しく組めていました。

ファイルの中身の整理も効きます

もうひとつ、渡し方で効いてくるのがファイル内の整理です。

Figmaには「Page」という機能があります。左サイドバーの上部にあるリストで、1つのファイルの中に複数のキャンバスを作れます。

ここが整理されていると、こう変わります。

整理されていない Pageで分けてある
1つのPageにトップ・コース・没案・旧デザインが混在 Top / Course / Access / Components に分割
どれが最新の正解か判断できない 作る対象が一発で決まる

混在していると「このボタン3種類あるけど、どれが採用版ですか?」という確認が発生します。その分だけ手戻りが増えます。

ちなみに1ページだけのファイルなら、Page分けは不要です。分ける意味が出てくるのは下層ページが増えてからです。

PC版とSP版は同じPageに並べる

レスポンシブ対応がある場合は、これが効きます。

PC版とSP版は同じPageに並べる

今回のファイルには、見出しのコンポーネントにこういうデータが入っていました。

  • device=sp … 見出し30px
  • device=pc … 見出し40px

同じコンポーネントのバリアントとして定義されていたので、「見出しはSP30px→PC40pxに変わる」と即座に判断できました。CSSで書くとこうなります。

.blockTitle__en { font-size: 30px; }

@media (min-width: 768px) {
  .blockTitle__en { font-size: 40px; }
}

もしPC版が別のPageにあって、別コンポーネントとして作られていたら、これが「同じ見出しの別サイズ」なのか「まったく別の見出し」なのか判断できません。

並べておくだけで、対応関係が構造として伝わります。

渡すときのチェックリスト

まとめると、こうなります。

項目 おすすめ
渡し方 共有URL(権限が渡せない場合は .fig + スクショ)
ファイル構成 1サイト = 1ファイル、Pageでページ分け
PC/SP 同じPageに横並び
一度に依頼する範囲 1ページずつ
あると助かる情報 ブレイクポイント、今回作る対象、無視していい要素

「まとめて作っておいて、渡すときは小分け」というイメージです。

ファイル全体を一度に読ませると情報量が膨大になり、今作っているページへの精度がかえって落ちます。今回はトップページ1枚だけで要素が272個ありました。5ページ分なら1000個を超えます。

おわりに

AIにコーディングさせる時代になって、「デザインデータの渡し方」が新しい論点になってきたな、と感じています。

人間同士なら「ここは飾りだから文字の後ろね」と一言で済むことが、データだけだと伝わりません。逆に言えば、その一言を添えるだけで精度が上がるということでもあります。

今回の私の失敗も、スクショ1枚あれば防げたものでした。

デザイナーさんとやり取りする機会がある方は、「Pageで分けてもらえますか」「PC版とSP版を並べてもらえますか」と伝えてみてください。Figmaを使う人には一般的な整理方法なので、特殊なお願いにはなりません。

その一手間が、あとの手戻りを減らします。

ブログ

BLOG

PAGE TOP