Skip to content

Project XML DisplayList Tag Alignment

Conclusion

The displayList in component.xml currently distinguishes three naming systems:

LayerMeaning
Raw XML tagThe tag name present under component.xml <displayList>.
displayList variantThe ordered polymorphic variant used for container validation in the project protocol.
Editor DisplayListItem.typeThe display-list item type used by the FairyGUI Editor runtime after loading.

This document defines the current alignment among these names so that the displayList container protocol, project I/O, and editor DisplayListItem.type values do not drift apart.

Naming rules

RuleDescription
A raw XML tag describes only the tag present in the file.Examples: loader3d, list.
A displayList variant describes only the object variant in the container.Examples: loader3D, tree, inputtext.
Editor DisplayListItem.type uses the normalized result after editor loading.Examples: inputtext, tree.
Raw tags and variants may use different names during I/O.Confirmed mappings include loader3d -> loader3D, list -> tree, and text -> inputtext.

Alignment table

Object semanticsRaw XML tagdisplayList variantEditor DisplayListItem.typeCurrent write contract
Imageimageimageimageimage
Plain texttexttexttexttext
Input texttext with input="true", or explicit inputtextinputtextinputtextinputtext
Rich textrichtextrichtextrichtextrichtext
Graphgraphgraphgraphgraph
Groupgroupgroupgroupgroup
Loaderloaderloaderloaderloader
Loader3Dloader3dloader3DAligned as loader3D in this repositoryloader3d
MovieClipmovieclipmovieclipmovieclipmovieclip
JTA animationjtajtajtajta
Child component instancecomponentcomponentResource reference objects normally omit an independent type; the referenced resource determines the display-list item.component
Listlistlistlistlist
Treelist with treeView="true", or explicit treetreetreelist with treeView="true"

Conditional variants

The following variants depend on additional conditions and cannot be determined from the raw tag alone:

Raw XML carrierConditiondisplayList variantEditor evidence
textinput="true"inputtextUIPackage.loadComponentChildren(...)
listtreeView="true"treeUIPackage.loadComponentChildren(...)
loader3dNo extra condition; the variant uses camel case.loader3DCurrent project-protocol container contract

Current write rules

ScenarioWritten result
GTextFieldtext
GTextInputinputtext
GRichTextFieldrichtext
GTreelist with treeView="true"
GLoader3Dloader3d
GMovieClipjta
Compatibility input using movieclipAlways written as jta.
GComponent / GButton / GLabel / GComboBox / GProgressBar / GSlider / GScrollBarcomponent

Maintenance requirements

ItemRequirement
Add a displayList object typeUpdate the raw XML tag, displayList variant, editor alignment, and this table together.
Change the displayList container variant setRecheck project reading, project writing, and editor DisplayListItem.type alignment together.
Change normalization for text, tree, loader3d, or jtaUpdate this table in the same change; changing only a code constant is not allowed.
Documentation boundaryThis document covers displayList naming and variant protocols only, not internal reader or writer implementation details.

MIT Licensed