リクエスト詳細
✨ 既存アプリの改善
対応完了
対象アプリ: MoodBoard Maker ビジョンボード&ムードボード作成
要素へのメモ付き「ピンラベル」機能の追加
## 1. 目的
ムードボード上の画像・テキスト・スウォッチなどの要素に短いメモ(キャプション)を紐づけられる「ピンラベル」を追加する。目標や意図を言語化しながらボードを整理したいユーザー(例: 「このカラーは落ち着いた寝室の壁色」「この画像は5年後の旅先イメージ」)の体験を高める。書き出し時は表示/非表示を選べるため、ビジュアル重視の最終出力も損なわない。
---
## 2. 具体的な仕様
### 2-1. ピンラベルの追加
- 任意の要素を選択した状態で、右サイドパネルの下部に「📌 メモを追加」ボタンを設置する。
- クリックするとインラインの小テキストエリア(最大80文字・1〜2行)がパネル内に展開される。
- 入力後「保存」ボタンまたは Enter で確定。空欄で保存するとピンラベルを削除する。
### 2-2. キャンバス上の表示
- ピンラベルが設定された要素の右上隅に直径18pxの黄色いピンアイコン(📌 相当のSVG)を常時表示する。
- ピンアイコンにホバー(PCはmouseover、スマホはタップ)すると、吹き出し形式の小ポップアップ(背景白・影あり・角丸・最大幅160px)がキャンバス上にオーバーレイ表示される。
- ポップアップはアイコンから外れると自動で閉じる(スマホは再タップで閉じる)。
- ポップアップはキャンバスの端に近い場合は表示位置を自動反転(右→左、上→下)してはみ出しを防ぐ。
### 2-3. グローバルの表示切替
- ツールバーに「📌 ピン表示」トグルボタンを追加する(デフォルトON)。
- OFFにするとキャンバス上のピンアイコンをすべて非表示にする(データは保持)。
### 2-4. 書き出し時の制御
- PNG/JPG書き出しダイアログに「ピンラベルを書き出しに含める」チェックボックスを追加(デフォルトOFF)。
- ONの場合: html2canvas/キャンバス描画時にピンアイコンと吹き出しテキストを画像に焼き込む。
- OFFの場合: 書き出し直前にピンアイコンをDOMから一時的に非表示にし、書き出し完了後に復元する。
### 2-5. データ保存・読み込み
- 各要素のJSONデータに `"pinMemo": "テキスト文字列"` フィールドを追加する(未設定は `null` または省略)。
- 既存のJSONにこのフィールドが存在しない場合はそのまま読み込み可能(後方互換)。
- localStorageの自動保存にも同フィールドを含めて永続化する。
### 2-6. グループ要素への対応
- グループ化された要素グループに対してもピンラベルを設定できる(グループ選択時にパネルを表示)。
- グループ内の個別要素のピンラベルはグループ化後も保持され、グループ解除時に復元される。
---
## 3. 既存機能との整合
- ピンアイコンはキャンバスDOMのオーバーレイレイヤー(position:absolute、pointer-eventsは最小限)として実装し、ドラッグ・リサイズ・回転などの既存インタラクションを妨げない。
- Undo/Redoの履歴にピンメモの追加・編集・削除も含める(状態スナップショットにpinMemoを含めるだけで対応可能)。
- テンプレート読み込み時はpinMemoを含まない既存テンプレートJSONをそのまま使用し、新規追加したテンプレートにのみ必要に応じてpinMemoを設定してよい。
- 公開ギャラリーへの共有時はpinMemoをJSONに含めて送信するが、ギャラリー一覧・サムネイル表示には影響しない。
ムードボード上の画像・テキスト・スウォッチなどの要素に短いメモ(キャプション)を紐づけられる「ピンラベル」を追加する。目標や意図を言語化しながらボードを整理したいユーザー(例: 「このカラーは落ち着いた寝室の壁色」「この画像は5年後の旅先イメージ」)の体験を高める。書き出し時は表示/非表示を選べるため、ビジュアル重視の最終出力も損なわない。
---
## 2. 具体的な仕様
### 2-1. ピンラベルの追加
- 任意の要素を選択した状態で、右サイドパネルの下部に「📌 メモを追加」ボタンを設置する。
- クリックするとインラインの小テキストエリア(最大80文字・1〜2行)がパネル内に展開される。
- 入力後「保存」ボタンまたは Enter で確定。空欄で保存するとピンラベルを削除する。
### 2-2. キャンバス上の表示
- ピンラベルが設定された要素の右上隅に直径18pxの黄色いピンアイコン(📌 相当のSVG)を常時表示する。
- ピンアイコンにホバー(PCはmouseover、スマホはタップ)すると、吹き出し形式の小ポップアップ(背景白・影あり・角丸・最大幅160px)がキャンバス上にオーバーレイ表示される。
- ポップアップはアイコンから外れると自動で閉じる(スマホは再タップで閉じる)。
- ポップアップはキャンバスの端に近い場合は表示位置を自動反転(右→左、上→下)してはみ出しを防ぐ。
### 2-3. グローバルの表示切替
- ツールバーに「📌 ピン表示」トグルボタンを追加する(デフォルトON)。
- OFFにするとキャンバス上のピンアイコンをすべて非表示にする(データは保持)。
### 2-4. 書き出し時の制御
- PNG/JPG書き出しダイアログに「ピンラベルを書き出しに含める」チェックボックスを追加(デフォルトOFF)。
- ONの場合: html2canvas/キャンバス描画時にピンアイコンと吹き出しテキストを画像に焼き込む。
- OFFの場合: 書き出し直前にピンアイコンをDOMから一時的に非表示にし、書き出し完了後に復元する。
### 2-5. データ保存・読み込み
- 各要素のJSONデータに `"pinMemo": "テキスト文字列"` フィールドを追加する(未設定は `null` または省略)。
- 既存のJSONにこのフィールドが存在しない場合はそのまま読み込み可能(後方互換)。
- localStorageの自動保存にも同フィールドを含めて永続化する。
### 2-6. グループ要素への対応
- グループ化された要素グループに対してもピンラベルを設定できる(グループ選択時にパネルを表示)。
- グループ内の個別要素のピンラベルはグループ化後も保持され、グループ解除時に復元される。
---
## 3. 既存機能との整合
- ピンアイコンはキャンバスDOMのオーバーレイレイヤー(position:absolute、pointer-eventsは最小限)として実装し、ドラッグ・リサイズ・回転などの既存インタラクションを妨げない。
- Undo/Redoの履歴にピンメモの追加・編集・削除も含める(状態スナップショットにpinMemoを含めるだけで対応可能)。
- テンプレート読み込み時はpinMemoを含まない既存テンプレートJSONをそのまま使用し、新規追加したテンプレートにのみ必要に応じてpinMemoを設定してよい。
- 公開ギャラリーへの共有時はpinMemoをJSONに含めて送信するが、ギャラリー一覧・サムネイル表示には影響しない。
💬 返信 (3)
🛠 開発を開始しました (機能追加 (moodboard))
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
ご要望ありがとうございます。AI 開発ワーカーが実装を開始します。
通常 5〜30 分で Pull Request を作成し、レビュー後にリリースされます。
📝 開発が完了しました
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
ご要望いただいた内容の実装が完了し、最終チェック段階に入りました。
レビュー (自動) → リリース、の流れで進みます。
もう少々お待ちください。
✅ リリース完了のお知らせ
ご要望いただいた「MoodBoard Maker ビジョンボード&ムードボード作成」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=moodboard
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/moodboard/
ご利用ありがとうございます!
ご要望いただいた「MoodBoard Maker ビジョンボード&ムードボード作成」を実装し、リリースいたしました。
【ご利用方法】
ダッシュボード: https://www.aiapps.jp/?action=dashboard
アプリ詳細: https://www.aiapps.jp/apps/show.php?slug=moodboard
デモ環境は 1 時間以内に自動構築されます:
https://www.aiapps.jp/demo/moodboard/
ご利用ありがとうございます!
Echo
Iris