Skinning/ja

< ビューアロードマップ, ユーザインターフェイスロードマップ
== オーバービュー ==
スキン作成はユーザインターフェイスのカスタマイズ機能に幅広く言及しています。スキン作成プロジェクトはユーザインターフェイスロードマップの一部と、Linden Lab、サードパーティデベロッパ、そして個人による、主要なソースコードを返る必要のない、アップデートを通してメンテナンス可能な、完全なデータドリブンでカスタマイズ可能なSecond Lifeユーザインターフェイスを作る道程を明確に記述しています。
== 主要 ==
ユーザインターフェイスロードマップをみましょう。
== 関連項目==
* スキン製作方法/基本 - 現機能でのドキュメント
== 目的 ==
* Second Lifeの外観を更に容易にカスタマイズする内部編集ツールを可能にする
* 外部の開発者と住民の利用者の意見を役立てて、ビューアのアップデートを通じて継続し、カスタイマイズして作成したスキン"パッケージ"を蓄積する。
** "スキン作成"が沢山のことを意味できるようにする。このプロジェクトでは、スキン作成は以下を最初に意味するでしょう。
*# カスタムな外形に同じサイズの画像を用いる。（例えばDazzle)
*# HTMLを表示するカスタムフロータとSLURLを通してクライアント側に戻って会話ができるようにする。
*# オーダーメイド、あるいは言語オーダーメイドがインストールを通して保有される。
*# UIの一部除去を可能にする"シンプル"スキン。
*# カスタマイズされたヘルプリンク。
* あなたが望むのであれば、前向きな設計材料を挙げるのに'discussion'ページを用いてください。
== タスク ==
=== フェイズ 0 ===
* 最初のフェイズはプロジェクトDazzleを実装することで、ユーザインターフェイスの色（外観）を買えるための、最初のスキンの実装と、必要とされる抽象化の検証です。
* 即優先事項:
** スキンの変更、クラシックスキンへと戻す機能を含む。
=== フェイズ 1 ウィジェットのクリーンアップ===
 スキン作成 フェイズ 1
* 目標:
** パラメータ化された全ウィジェットのコンストラクタを作る。
** レイアウトからウィジェットコンテントを分離する。
** ハードコードされた絵とレイアウトを除去する。
** 付加UIのクリーンアップ
** 全 XUI指定ロジックをpostBuild()呼び出しから発生するようにする。
** ハードコードされた絵と色の除去
*** プログラムに関わる絵と要素の除去。例：ボリュームスライダー
*** いくつかのアイコンその他から背景を除去。（アルファを使う）
*** 全イメージでトリミングと拡大縮小を確実にする。
*** 境界線の固定サイズの指定を可能にする（例えば、ボタングラフィックと狭い境界線のサイズを正確に）
*** 色やその他の、ヴィジェットの付加要素を可能にする
*** サブタスク: テキストの影付け設定をXMLの構造にせず、視認性のある要因に生じさせる。
*** 全パネル/フロータのレイアウトをデータドリブンにすべき。
*** 色、他のグローバルUI設定など、全UI設定をXMLへ移す。
*** \xui\en-us内の使わない（レガシー）xmlファイルを削除する。
*** llUICtrlFactoryプロパティを使って、全ての存在するフローターを作成する。
=== フェイズ 2 - 選択可能なスキン ===
* 目標: 
** 動的再読み込み - クライアントの再起動なしでスキンの選択を可能にする。
** XUI編集を効果的に分かりやすくして、編集しやすくする。
*** 例：言語設定を変更するとき、全UI要素がリロードするべき。
** 動的なUI要素の再読み込み。(ホットスワッピング):
*** 色定義
*** LLUIImageは空中でテクスチャアセットをスワップ可能にすべき。
*** メニューとオーバーレイバーを含む、5フロータとパネルのXUIファイルの再読み込みを可能にする。
*** 異なるテクスチャタイプを適切なサブフォルダ(OIプレキャッシュ等）に移動し、プレインテキスト名を用いる。
*** 全フロータが消失しているUI要素をハンドル可能にして、振る舞うことを可能にするか、オープンとともに適切なメッセージを表示して拒絶するようにする。
=== フェイズ 3 - XMLウィジェットレイアウト ===
* 目標:
** XUIテンプレート - 全てのウィジェットを基本データドリブンにして、基本ウィジェットのサブタイプとしての付加テンプレートを可能にする。
*** XMLにウィジェット初期値をおく。
*** XMLにウィジェットレイアウトデータをおく。
** 希薄なXUIファイル
*** XUIファイルの冗長性をなくし、可読性を高める。
*** XUIファイルに初期値ではない値のみを含むようにする。
*** コードから全初期値を除去する。(XMLクリーンアップ)
*** 全XMLファイルを出力し、初期値ではない値のみを書く、製作ツールの作成。
*** 同時にXMLアウトプットのクリーンアップ。
** 自動的にフロータ位置とサイズを保存する。
*** 最小化位置を含む。 (現在は保存されない)
** UI XML フォーマットのドキュメント
=== フェイズ 4 - "シンプルUI"スキン ===
* 目標: SLの簡易化したインターフェイスを可能にして、カスタムスキンをビューアにパッケージされるようにする。
** アドバンスドメニューをデータドリブンにする。
** データドリブンコールバック - UIコールバック
*** 全メニューアイテムとオーバレイボタンを完全にデータドリブン可能にする。
** 他の簡易化された以下のようなTBDタスク
*** 名前からフロータを開くボタンを許可する。
*** 特定タブを開くことをサポートする。
*** シングルトンステート間のトグリングを識別し、新しいインスタンスを開く。
*** シンプルとアドバンスドでの拡大/折りたたみメニューを可能にする
**** オーバーレイバーの指定レイアウトと"viewer.xml"でのメニューバー
**** サイドバーあるいはボタン付与可能なコーナーパネルを追加する複数の"オーバーレイバー"を可能にする
== 将来のフェイズ ==
=== I18N ===
* 目標:
** SLビューアの完全な国際化
** ログインでダウンロード可能なXMLファイルからサーバメッセージの翻訳を含む。
=== スキンパッケージング ===
 住民のカスタマイズとパッケージ化を可能にする
* 目標: 
** スキンの配布とパッケージ化を容易にする
** 外部デベロッパと住民のアップデートを通した変更とカスタムUIレイアウトの配布を維持可能にする
** スキンのwebベース配布/ダウンロードを考慮し、ライブアップデートを可能にする
** 編集のみ（翻訳）あるいは完全な上書き（ユーザカスタマイズ）の指定ファイル
** 全リリースのための変更リスト作成の自動化
*** 大衆翻訳も用いて（例:SecondLife）、翻訳をおおざっぱに通しておく
** 住民のパッケージ変更を許可して、他のユーザによる簡易インストールでの容易な配布
*** Edit > Preferences > Skinsのオプションをさらによくする
**** a) 設定にドロップダウンオプションを追加
**** b) XMLファイルからのオプション充填
*** Zipファイルからのスキン読み込みサポート追加
*** 全プラットフォームでのスキンインストーラ調査
=== カスタマイズサポート ===
* 目標: XUIのクリーンアップと簡易な追加スキン作成環境
** 自動的なフロータ位置とサイズの保存 - フロータでの明快なふちコントロールに必要な削除
*** layout.xmlの作成、app/skinsでの初期内蔵、user/skinsでのカスタム値
*** 最小化位置の保有(現在は保存されない)
** XUIドキュメンテーション - UI XML フォーマットのドキュメント
*** スキン製作方法/基本のドキュメントの改善
** 首尾一貫したウィジェットインターフェイス - 全ウィジェットインターフェイスの首尾一貫化、インターフェイスを通してのみウィジェットにアクセスする
=== 動的レイアウト ===
* ウィジェットレイアウト言語の保有と自動サイズ化の追加
** 目標: XUIレイアウトデータを変更しやすくする
*** レイアウト言語に標準的なモデルを採用する（例：CSS? qt-lite?）
*** レイアウト意図のために要素グループ化の採用
*** レイアウト情報が公開されない時のレイアウト要素の自動化
=== データドリブン UI ===
* 完全なUIのデータドリブン化。コントロールフローロジックのみがコードに含まれるようにすべき
=== 他の特定リクエスト ===
* アイコン的なパネルの作成を可能にする（例えばビルドツール）
** 完全なアイコン的ボタンとフロータでの指定タブのオープンボタン機能の連結
* ドッキング/ホスティング - 3Dウィンドウレイアウト要素とドックされたフロータの採用
** 場合によって、アプリケーションウィンドウの外側にフロータを出力を許可する
Category:Skinning/ja