Difference between revisions of "Skinning"
Jump to navigation
Jump to search
Steve Linden (talk | contribs) |
Steve Linden (talk | contribs) |
||
Line 5: | Line 5: | ||
* [[User Interface Roadmap]] | * [[User Interface Roadmap]] | ||
== Task Descriptions == | == Task Descriptions == | ||
=== | === XUI Default Templates === | ||
Create 'templates.xml' file with default attributes for each widget type | * ''Objective: Make the XUI files less verbose and more readable'' | ||
* Other templates for common attribute sets can also be declared here | * Create 'templates.xml' file with default attributes for each widget type | ||
* Widgets can declare a tempate (default to the default one) | ** Other templates for common attribute sets can also be declared here | ||
* | ** Widgets can declare a tempate (default to the default one for that type) | ||
* Create a tool to process all | * Remove all default values from the code (code cleanup) | ||
* Create a tool to process all existing .xui files and write out only the non default values | |||
** Clean up the XML output at the same time | |||
=== UI Texture Cache === | === UI Texture Cache === | ||
Separate pre-cached images with asset ids from UI images | * ''Objective: Make it easier to add and modify UI art'' | ||
* Separate pre-cached images with asset ids from UI images | |||
* Rename UI Images to use file names not asset ids | * Rename UI Images to use file names not asset ids | ||
=== Remove hard coded art and colors from UI === | === Remove hard coded art and colors from UI === | ||
* | * ''Objective: Remove any UI art from the code | ||
* | * Remove programmatic art with attributes, e.g. volume sliders | ||
* Remove any backgrounds from icons, etc (use alpha) | |||
* Ensure that all images can be cropped and scaled | |||
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly) | |||
* Enable additional attributes for colors, etc | * Enable additional attributes to widgets for colors, etc | ||
=== Facilitate UI customization === | === Facilitate UI customization === | ||
* ''Objective: Make it easier to see the effects of XUI edits'' | |||
* Enable reloading of all floaters including the menus and overlay bar | * Enable reloading of all floaters including the menus and overlay bar | ||
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message | * Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message | ||
=== Facilitate customization of menus and overlay bar === | |||
* ''Objective: enable menus and overlay bar to be more easily customized'' | |||
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. "floater_inventory" -> LLFloaterInventory) in XML | * Create a global floater/panel map and have floaters/panels to specify their type (e.g. "floater_inventory" -> LLFloaterInventory) in XML | ||
* Allow buttons to open floaters by name | * Allow buttons to open floaters by name | ||
Line 29: | Line 35: | ||
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances | ** Differentiate between toggling state of singletons, showing/focusing, and opening new instances | ||
* Allow menus to be expanded/collapsed for simple/advanced usage | * Allow menus to be expanded/collapsed for simple/advanced usage | ||
=== Improve | * Specify layout of overlay bar and menu bar in "viewer.xml" | ||
* | ** Allow multiple "overlay bars" to be added so that side bars or corner panels with buttons can be added | ||
=== Improve Layout Language === | |||
* ''Objective: make it easier to change the XUI layout data'' | |||
* Choose a standard model for the layout language (e.g. CSS? qt-like?) | |||
* Allow elements to be grouped for layout purposes | |||
* Auto layout elements when no layout information is provided | |||
=== Enable Packaging and Resident customizations === | === Enable Packaging and Resident customizations === | ||
* Allow residents to save changes to | * ''Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts'' | ||
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins) | |||
* Allow residents to package changes and easily distribute them for easy installation by other users | * Allow residents to package changes and easily distribute them for easy installation by other users | ||
* Include the ability to | ** Define location to search for installed skin packages | ||
** Include the ability to change skins and restore the original skin | |||
=== Specific Requests === | === Specific Requests === | ||
* Make iconic panels (i.e.. build tools) generally available | * Make iconic panels (i.e.. build tools) generally available | ||
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater | ** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater |
Revision as of 18:23, 23 July 2007
Objectives
- Enable internal designers to more easily customize the look of Second Life
- Enable external developers and residents to save customizations and prepare skin "packages"
Links
Task Descriptions
XUI Default Templates
- Objective: Make the XUI files less verbose and more readable
- Create 'templates.xml' file with default attributes for each widget type
- Other templates for common attribute sets can also be declared here
- Widgets can declare a tempate (default to the default one for that type)
- Remove all default values from the code (code cleanup)
- Create a tool to process all existing .xui files and write out only the non default values
- Clean up the XML output at the same time
UI Texture Cache
- Objective: Make it easier to add and modify UI art
- Separate pre-cached images with asset ids from UI images
- Rename UI Images to use file names not asset ids
Remove hard coded art and colors from UI
- Objective: Remove any UI art from the code
- Remove programmatic art with attributes, e.g. volume sliders
- Remove any backgrounds from icons, etc (use alpha)
- Ensure that all images can be cropped and scaled
- Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)
- Enable additional attributes to widgets for colors, etc
Facilitate UI customization
- Objective: Make it easier to see the effects of XUI edits
- Enable reloading of all floaters including the menus and overlay bar
- Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message
- Objective: enable menus and overlay bar to be more easily customized
- Create a global floater/panel map and have floaters/panels to specify their type (e.g. "floater_inventory" -> LLFloaterInventory) in XML
- Allow buttons to open floaters by name
- Include support for opening a specific tab
- Differentiate between toggling state of singletons, showing/focusing, and opening new instances
- Allow menus to be expanded/collapsed for simple/advanced usage
- Specify layout of overlay bar and menu bar in "viewer.xml"
- Allow multiple "overlay bars" to be added so that side bars or corner panels with buttons can be added
Improve Layout Language
- Objective: make it easier to change the XUI layout data
- Choose a standard model for the layout language (e.g. CSS? qt-like?)
- Allow elements to be grouped for layout purposes
- Auto layout elements when no layout information is provided
Enable Packaging and Resident customizations
- Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts
- Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)
- Allow residents to package changes and easily distribute them for easy installation by other users
- Define location to search for installed skin packages
- Include the ability to change skins and restore the original skin
Specific Requests
- Make iconic panels (i.e.. build tools) generally available
- Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater