DOCUMENT · 6.5 KB
docs/CURRENT_STATUS.md
Workspace snapshot · 08/31 23:51
AI Landing Page Lab — Current Status
最終更新: 2026-08-31
この文書は、別セッションで作業を再開する際の最初の参照先です。過去のレビュー指示は fix-list-2026-08-30.md、設計原則は generation-quality-architecture.md、現在の実装・検証状況は本書を正本とします。
現在の到達点
- PENGINのBtoB LP制作工程を、資料理解、適応型ヒアリング、構成、WF、トンマナ3案、画像生成、HTML実装、ZIP納品まで接続済み。
- 17セクションの実案件相当データでE2E生成済み。
- 選択トーンA「現場編集室」を、
#1F1A17/#F4F1EA/#D94B2B、明朝主体、暖色の編集写真として全セクションへ接続済み。 - 全17セクションに背景レイヤー、画像化が適切な13セクションに文字・ビジュアル込みコンテンツレイヤーを生成済み。合計30画像。
- フォーム、入力、ボタン、FAQ、料金、比較表、法務表記、計測導線は編集・操作・SEOを守るためHTMLのまま保持する。
- h1は1つ、フォームと個人情報同意、OGP、canonical、JSON-LD、favicon、GA4差し込み口、相対画像を含むZIP出力を実装済み。
npm testは31件PASS、npm run buildはPASS。
二層画像方式
各セクションの画像識別子は sectionId:layer とする。
background: 文字・ロゴ・UIを含めない背景素材。全17セクションで生成する。content: 日本語コピー、写真、図版、文字組みを統合した完成ビジュアル。フォーム、FAQ、比較、料金を除く13セクションで生成する。- HTML操作要素を画像に描かない。フォーム、ボタン、入力欄、ナビゲーションは必ずHTMLで実装する。
- コンテンツ画像のコピーはHTMLにもアクセシブルな非表示テキストとして保持する。SPで画像内文字が小さくなるメッセージ章は、読みやすいHTMLコピーを画像下へ再表示する。
- 画像レコードの正本キーは
visualId。同一sectionIdの背景とコンテンツを上書きしない。
主な実装:
src/visual-strategy.js: セクション役割別の二層生成計画。現在の実E2Eは30ジョブ。api/design-images.js: 画像ジョブの受付・状態取得。visualIdとlayerを保持する。src/main.jsx: 7件単位で画像生成要求を送り、最大30件を追跡・統合する。src/export-html.js: 背景層とコンテンツ層を別DOMとして配置し、トーン、固有レイアウト、HTML操作要素を統合する。src/export-bundle.js:images/{sectionId}-{layer}.pngで画像をZIPへ同梱する。
最新成果物
- ローカルプレビュー:
output/real-e2e/layered-preview/index.html - 全30画像:
output/real-e2e/layers/ - オフライン納品ZIP:
output/real-e2e/landing-page-layered-package.zip - 最終PC証跡:
output/real-e2e/layered-preview/evidence/layered-final2/full-1280.png - 最終SP証跡:
output/real-e2e/layered-preview/evidence/layered-final2/full-390.png - 最終DOM計測:
output/real-e2e/layered-preview/evidence/layered-final2/metrics-chromium.json - トーンA/B/C比較:
output/tone-comparison/comparison-1280.png
output/ は生成成果物であり、手修正しない。修正は必ず生成器側へ入れて再生成する。
QA結果
最終確認対象は layered-final2。
| 幅 | scrollWidth | broken images | offender sections |
|---|---|---|---|
| 375 | 375 | 0 | 0 |
| 390 | 390 | 0 | 0 |
| 414 | 414 | 0 | 0 |
| 1280 | 1280 | 0 | 0 |
目視済み: PC/SPのHero、用途、導入工程、メッセージ、最終フォーム。Heroは文字込み画像とHTMLフォームを分離し、SPも縦積み。メッセージはPCでは画像主体、SPでは画像と可読HTMLコピーを併用する。
再生成・QAコマンド:
node scripts/build-layered-local-preview.mjs
$env:QA_OUTPUT='output\real-e2e\layered-preview'
node scripts/browser-qa-real-e2e.mjs layered-next
npm test
npm run build
画像生成の実行履歴と障害
- 共有画像生成Workerで最初の13ジョブは完了した。
- 残り17ジョブは、キュー解放後もPOSTがHTTP 502を返した。原因は未確定。Workerの受入上限、日次枠、上流Runtimeのいずれかを次回調査する。
- 今回はCodex内蔵画像生成へ切り替え、残り17画像を生成してローカルへ保存した。
- 再開用スクリプト:
scripts/generate-layered-real-e2e.mjs。状態はoutput/real-e2e/layered-generation-state.json。この状態ファイルにはWorkerで完了した13件のみが入る。内蔵生成分はlayers/が正本。 - 502を直すまでは、状態ファイルだけを見て「30件完了」と判定しないこと。
未完了・次の着手順
- 30画像すべてについて、日本語コピーの完全一致、不要文字、人物破綻、構図、章間の反復を1枚ずつ目視監査する。現時点では代表セクションのみ目視済み。
- 共有画像生成WorkerのHTTP 502を再現し、レスポンスログ、日次上限、同時実行数、VPS Runtime状態を確認する。
- 実アプリの通常生成フローで二層画像30件が保存・再読込・部分再生成・ZIP出力まで通るE2Eを追加する。今回の完成プレビューはローカル組立スクリプトによるもの。
docs/fix-list-2026-08-30.mdのB群(ログイン、サーバー保存、後日課金)と、残存するUI/運用項目を現在コードで再監査する。- 本番公開前に、認証・レート制限の実環境試験、フォーム送信先、GA4、プライバシーURL、OGP絶対URLを確定する。
公開状態と承認境界
- 今回の二層画像版はローカル生成・QAまで。本番Vercelへは未Deploy。
- 本番Deploy、外部送信、SNS、決済開始、支出、契約は従来どおりApproval必須。
- 決済は実装のみ可能。課金開始は別承認。
- OpenAI APIキーは使わず、公開サービスは共有VPS LLM Runtimeとsubscription経路を使う。
再開時の読書順
../AGENTS.mdREADME.mddocs/CURRENT_STATUS.mddocs/generation-quality-architecture.md- 必要なときだけ
docs/fix-list-2026-08-30.mdと各QA文書
最初に git status --short を確認し、既存変更を消さない。特に src/export-html.js、src/visual-strategy.js、src/main.jsx、api/design-images.js は今回の二層画像実装を含む。