UIを詳細にstylesheetに変換するPrompt
Goalは添付された画像にしたがってUIをstylesheetとして作成します。
’’’
手順
What’s in this image?
'''
記法ルール
各種コンポーネントはこのような表記で表すこと
基準は(0,0)とする
[comp_name(x,y,z,w,h:各種座標)]
'''
以下のようなプロンプトを使用すると、入力された画像から指示文や情報を抽出できます。
IMAGE
あなたは今、UIのスクリーンショットを見ています。このスクリーンショットに表示されている様々な要素を分析し、説明してください。
具体的には以下の内容を含めてください:
- 画面上に表示されているボタン、アイコン、テキスト、画像などのUI要素とその配置
- 各要素の機能や目的 (ボタンの役割、テキストの意味など)
- 画面全体の構成と、ユーザーに対して意図されているアクションや情報
各要素は以下のフォーマットで表現してください:
要素タイプ 要素の座標と大きさ (要素の説明)
最後に、UI全体の目的を1、2文で要約してください。
上記のプロンプトを使用することで、ScreenAIは画像内のUIの要素と構成を詳細に理解し、それらの意味や機能を推論することができます。
座標情報も含めることで、各要素の位置関係も考慮に入れた分析が可能になります。
最後の要約部分では、UIの全体的な意図を端的に説明することを求めています。
このようなプロンプトを活用し、大量の画像とその分析結果を学習することで、ScreenAIはUI理解の精度を高めていきます。
同時に、画像とテキストの関連付けを通じて、言語理解能力も向上させているのだと思います。
'''
Output style:
Ex.
UIを構成する要素を一般化し、構造化するための表記ルールを以下のように定めます。
1. コンポーネント名
- コンポーネントの名称は、大文字で始まるキャメルケース(PascalCase)を使用する
- 例: MessageBox, UserAvatar, ButtonGroup
2. プロパティ(Props)
- プロパティ名は、小文字で始まるキャメルケース(camelCase)を使用する
- プロパティの型は、コロン(:)の後に指定する
- 必須のプロパティには、プロパティ名の後に感嘆符(!)を付ける
- 例: userName: string, isOnline: boolean, onClick: function, message!: string
3. イベントハンドラ
- イベントハンドラ名は、「on」で始まり、イベント名は大文字で始まるキャメルケースを使用する
- 例: onClick, onHover, onKeyPress
4. 状態(State)
- 状態名は、小文字で始まるキャメルケースを使用する
- 状態の型は、プロパティと同様にコロンの後に指定する
- 例: isOpen: boolean, selectedItem: string
5. スタイル
- スタイルプロパティ名は、小文字で始まるキャメルケースを使用する
- スタイル値は、シングルクォート(')で囲む
- 例: backgroundColor: '
#f0f0f0', fontSize: '14px', padding: '8px 16px'
6. 子要素
- 子要素を表す場合は、インデントを使用して階層構造を表現する
- 子要素の定義は、親要素の定義の下に置く
- 例:
```
MessageBox:
backgroundColor: '
#f0f0f0'
borderRadius: '8px'
children:
- UserAvatar:
size: '32px'
src: 'path/to/avatar.png'
- MessageText:
color: '#333'
fontSize: '14px'
```
7. コメントとドキュメンテーション
- コンポーネントの説明や使用例は、コンポーネント定義の上に記載する
- インラインコメントは、行の末尾に//を使用して記述する
- 例:
```
// A reusable message box component
// Usage: <MessageBox userName="John" message="Hello, world!" />
MessageBox:
userName: string
message!: string // Required prop
onClose: function
```
これらの表記ルールに従うことで、UIコンポーネントの定義を統一し、可読性と保守性を向上させることができます。また、これらのルールは一般的なコンポーネント指向のフレームワークやライブラリと互換性があるため、実装時に活用しやすいでしょう。
'''
GPT:
Output :UI component 詳細
Ex.
UIを構成する要素を一般化し、構造化するための表記ルールを以下のように定めます。
1. コンポーネント名
- コンポーネントの名称は、大文字で始まるキャメルケース(PascalCase)を使用する
- 例: MessageBox, UserAvatar, ButtonGroup
2. プロパティ(Props)
- プロパティ名は、小文字で始まるキャメルケース(camelCase)を使用する
- プロパティの型は、コロン(:)の後に指定する
- 必須のプロパティには、プロパティ名の後に感嘆符(!)を付ける
- 例: userName: string, isOnline: boolean, onClick: function, message!: string
3. イベントハンドラ
- イベントハンドラ名は、「on」で始まり、イベント名は大文字で始まるキャメルケースを使用する
- 例: onClick, onHover, onKeyPress
4. 状態(State)
- 状態名は、小文字で始まるキャメルケースを使用する
- 状態の型は、プロパティと同様にコロンの後に指定する
- 例: isOpen: boolean, selectedItem: string
5. スタイル
- スタイルプロパティ名は、小文字で始まるキャメルケースを使用する
- スタイル値は、シングルクォート(')で囲む
- 例: backgroundColor: '
#f0f0f0', fontSize: '14px', padding: '8px 16px'
6. 子要素
- 子要素を表す場合は、インデントを使用して階層構造を表現する
- 子要素の定義は、親要素の定義の下に置く
- 例:
```
MessageBox:
backgroundColor: '
#f0f0f0'
borderRadius: '8px'
children:
- UserAvatar:
size: '32px'
src: 'path/to/avatar.png'
- MessageText:
color: '#333'
fontSize: '14px'
```
7. コメントとドキュメンテーション
- コンポーネントの説明や使用例は、コンポーネント定義の上に記載する
- インラインコメントは、行の末尾に//を使用して記述する
- 例:
```
// A reusable message box component
// Usage: <MessageBox userName="John" message="Hello, world!" />
MessageBox:
userName: string
message!: string // Required prop
onClose: function
```
これらの表記ルールに従うことで、UIコンポーネントの定義を統一し、可読性と保守性を向上させることができます。また、これらのルールは一般的なコンポーネント指向のフレームワークやライブラリと互換性があるため、実装時に活用しやすいでしょう。
ALL LANG:en
’’’
Create stylesheet Full Context
### UIテンプレート
以下は、UIを一般化したテンプレートです。各コンポーネントの名称、プロパティ、イベントハンドラ、状態、スタイル、子要素を含めて詳細に記述しています。
#### コンポーネント構成:
1. **Header**
- **プロパティ**
- `text: string` - 表示されるテキスト
- `position: {x: number, y: number}`
- `size: {width: number, height: number}`
- **説明**
- メインタイトルを表示します。
2. **SectionHeader**
- **プロパティ**
- `text: string` - セクションの見出しテキスト
- `position: {x: number, y: number}`
- `size: {width: number, height: number}`
- **説明**
- カテゴリの見出しを表示します。
3. **ToolName**
- **プロパティ**
- `text: string` - ツール名のテキスト
- `position: {x: number, y: number}`
- `size: {width: number, height: number}`
- **説明**
- カテゴリに対応するツールの名前を表示します。
4. **Icon**
- **プロパティ**
- `src: string` - アイコンの画像ソース
- `position: {x: number, y: number}`
- `size: {width: number, height: number}`
- **説明**
- ツールのビジュアルアイコンを表示します。
### テンプレート構造:
```
UIテンプレート:
Header:
text: '30シーン別AIツール早見表'
position: { x: 50, y: 30 }
size: { width: 500, height: 50 }
description: 'メインタイトルを表示します。'
SectionHeader:
- text: '文章生成'
position: { x: 50, y: 100 }
size: { width: 200, height: 40 }
- text: '画像生成'
position: { x: 50, y: 140 }
size: { width: 200, height: 40 }
...
description: 'カテゴリの見出しを表示します。'
ToolName:
- text: 'Notion AI'
position: { x: 300, y: 100 }
size: { width: 200, height: 40 }
- text: 'Adobe Firefly'
position: { x: 300, y: 140 }
size: { width: 200, height: 40 }
...
description: 'カテゴリに対応するツールの名前を表示します。'
Icon:
- src: 'path/to/notion_ai_icon.png'
position: { x: 250, y: 100 }
size: { width: 40, height: 40 }
- src: 'path/to/adobe_firefly_icon.png'
position: { x: 250, y: 140 }
size: { width: 40, height: 40 }
...
description: 'ツールのビジュアルアイコンを表示します。'
```
### 説明:
このテンプレートは、複数のAIツールをカテゴリ別にリストアップするUIを構築するための一般的な構造を示しています。各コンポーネントには表示テキスト、位置、大きさ、説明が含まれており、UIの各部分がどのような役割を果たすかが明確に分かります。
このテンプレートを使用することで、新しいAIツールのリストを簡単に作成し、視覚的に整理された形式でユーザーに提供することができます。
‘’’
Create SVG Image