Skip to content

Add IdeationScene component with 2x2 quadrant canvas - #75

Open
fnobi wants to merge 10 commits into
topic/firebasefrom
claude/ideation-app-ui-mockup-eipP1
Open

Add IdeationScene component with 2x2 quadrant canvas#75
fnobi wants to merge 10 commits into
topic/firebasefrom
claude/ideation-app-ui-mockup-eipP1

Conversation

@fnobi

@fnobi fnobi commented May 4, 2026

Copy link
Copy Markdown
Owner

Summary

Introduces a new IdeationScene component that provides an interactive 2x2 quadrant canvas for ideation and keyword mapping. This replaces the previous ProfileFormScene as the main page component.

Key Changes

  • New IdeationScene component (src/features/components/IdeationScene.tsx):

    • Interactive canvas with a 2x2 grid layout representing four quadrants (A×Abstract, A×Concrete, B×Abstract, B×Concrete)
    • Draggable keyword chips that can be positioned freely across the canvas
    • Add new keywords via a modal dialog triggered by a floating action button
    • Visual dividers and axis labels to guide keyword placement
    • Responsive styling with emotion-styled components
  • Updated home page (src/app/page.tsx):

    • Replaced ProfileFormScene import with IdeationScene
    • Simplified component naming from PageProfileForm to Page

Implementation Details

  • Drag functionality: Uses React hooks (useState, useCallback, useRef) to track drag state and update keyword positions in real-time
  • Quadrant system: Color-coded background cells with labels for each quadrant to help users categorize ideas
  • Keyword management: Supports adding new keywords with auto-generated IDs and random initial positioning near canvas center
  • Modal dialog: Overlay-based input form with keyboard support (Enter to submit, Escape to cancel)
  • Styling: Comprehensive emotion-styled components with smooth transitions, shadows, and hover effects for better UX

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw

claude added 2 commits May 4, 2026 15:47
4分割キャンバス(グループA/B × 抽象/具体)上でキーワードを
ドラッグ配置できるIdeationSceneを実装。右下の+ボタンで
自由入力によるキーワード追加に対応。

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw
@vercel

vercel Bot commented May 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hinagata-next Ready Ready Preview, Comment May 5, 2026 10:14am

- 左半分グループA・右半分グループBの2列レイアウトに変更
- 行単位でデータ管理(抽象/具体・グループAキーワード・グループBキーワード)
- +ボタン→ボトムシートで行の追加、行タップで編集・削除
- ≡ハンドルのドラッグ(PointerEvents+setPointerCapture)で並び替え

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw
- Row型からtypeフィールドを削除、バッジ表示も除去
- 列ヘッダーをクリックするとインライン入力に切り替わり自由に編集できる
- 行編集シートのフィールドラベルにカスタム見出しを反映

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw
- キーワードをstring[]型に変更、チップ表示でラップ対応
- 鉛筆ボタンを左右各セルに配置し、セル単位でボトムシート編集
- 編集シートでキーワードの追加(Enter)・削除(×)が可能
- +ボタンで空行を即時追加(ポップアップなし)
- 行削除はセル編集シートの「行を削除」ボタンに集約

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw
- ChipDragStateでドラッグ中チップの位置・移動元・ターゲットを管理
- Pointer Capture (setPointerCapture) でマウス・タッチを統一処理
- ドラッグ中はゴーストチップがポインタに追従、元チップは半透明表示
- ドロップ対象セルをハイライト(青枠)
- セルのref mapで全セルの位置を管理しドロップ判定に使用

https://claude.ai/code/session_012g1zjH3rYR5cchtPisG8fw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants