## プロンプト全文(記録) ### [BUILD_BASE](人間submission #1) あなたは熟練ソフトウェアエンジニアです。以下の仕様のブラウザ用ペイントアプリを完成させ、 最後に全機能のセルフサーベイを行って納品してください。途中経過は不要、完成版のみ。 ## 開発対象 HTML/CSS/JavaScriptのみで動作するブラウザ上のペイントアプリ ## 条件 ・ボタン20個 ・各ボタンは異なる機能 ・レスポンシブ対応 ・ダークテーマ ・モダンUI ・コメントを十分に記述 ・保守しやすいコード ・ES Modules使用可 ・外部ライブラリ禁止 ## 実装必須機能(20) 1.ペン 2.消しゴム 3.線 4.四角 5.円 6.塗りつぶし 7.スポイト 8.カラーパレット 9.ブラシサイズ変更 10.元に戻す 11.やり直し 12.保存(PNG) 13.読み込み 14.テキスト入力 15.グリッド表示 16.キャンバスクリア 17.選択ツール 18.コピー 19.貼り付け 20.ズーム ## 品質要求 ・バグがないこと ・UIが自然 ・責務分離 ・拡張しやすい構造 ・命名規則統一 ・不要コード禁止 (今後、レイヤー・自由変形・アニメーション等の複雑な機能追加が予定されているため、拡張に耐える設計にすること) ## セルフサーベイ 実装後、全20機能の動作確認と品質チェックを行い、結果を workspace/survey.md に記録すること。 成果物は必ず workspace にファイルとして保存してください。 ### [QA](ループが自動送信・independent QA) workspace/target/ のブラウザ用ペイントアプリを独立QAとして精査してください。全機能の動作・例外処理・ UI崩れ・イベント競合・ポインタ/マルチタッチ・IME入力・Undo/Redo整合・保存/読み込み・エッジケースを検査。 「実際に再現しうる不具合」または「明確な仕様違反」のみ挙げる(主観・軽微な見た目は除外)。severity=high/mid/low。 【出力】workspace/bugs.json に: {"pass": , "counts":{"high":N,"mid":N,"low":N}, "bugs":[{"severity":"...","feature":"...","repro":"...","cause":"...","fix":"...","file":"..."}]} JSONのみ厳密に保存。根拠はコード精読に基づく。 ### [FIX](ループが自動送信) 前回の成果物に対し独立QAが以下を検出しました。high/midを必ず修正、lowも可能なら修正。 既存機能を壊さないこと。完成版のみworkspaceに保存。 <バグリスト(bugs.jsonから整形)> ### [MOD_A レイヤー機能](人間submission #2) 前回までの実装を維持したまま、以下の複雑改修を加えてください。 ■複数レイヤー機能: - レイヤーの 追加 / 削除 / 並び替え(上下) / 表示・非表示切替 / 不透明度(0-100%)設定 - 描画は「選択中レイヤー」に対して行う。レイヤーパネルUIで一覧・選択・操作 - レイヤー結合(下と結合 / 全結合) - 保存(PNG)は全レイヤーを合成して出力。読み込み・Undo/Redo はレイヤー構成を含めて整合 - 既存20機能を壊さない。実装後 workspace/survey.md を更新。 ### [MOD_B 選択範囲の自由変形](人間submission #3) 前回までの実装を維持したまま、以下の複雑改修を加えてください。 ■選択範囲の自由変形(トランスフォーム): - 選択範囲を ハンドル操作で 移動 / 拡大縮小(角・辺ハンドル) / 回転 できる - 変形はプレビュー表示し、確定 / 取消 が可能 - 変形結果は Undo/Redo 対象。コピー&ペーストした内容にも適用可能 - レイヤー機能と共存(アクティブレイヤー上の選択を変形) - 既存機能を壊さない。実装後 workspace/survey.md を更新。 ### [MOD_C アニメーション/フレーム](人間submission #4) 前回までの実装を維持したまま、以下の複雑改修を加えてください。 ■アニメーション(フレーム)機能: - 複数フレームのタイムライン(追加 / 複製 / 削除 / 並び替え) - 前後フレームを薄く重ねるオニオンスキン表示 のON/OFF - 再生 / 停止(FPS指定可) - 各フレームを 連番PNG として書き出し - 各フレームは独立したキャンバス内容を持つ。可能ならフレーム×レイヤーを両立(最低限フレーム毎の絵は保持) - Undo/Redo はフレーム操作と整合。既存20機能・レイヤー・自由変形と共存 - 既存機能を壊さない。実装後 workspace/survey.md を更新。