Expand XCUI layout lab editor widgets

This commit is contained in:
2026-04-05 05:44:07 +08:00
parent 01c54d017f
commit 6dcf881967
12 changed files with 608 additions and 389 deletions

View File

@@ -11,6 +11,11 @@
<Token name="space.stack" type="float" value="12" />
<Token name="space.cardInset" type="float" value="12" />
<Token name="radius.card" type="float" value="10" />
<Token name="size.listItemHeight" type="float" value="60" />
<Token name="size.treeItemHeight" type="float" value="30" />
<Token name="size.treeIndent" type="float" value="18" />
<Token name="size.fieldRowHeight" type="float" value="32" />
<Token name="size.propertySectionHeight" type="float" value="156" />
<Token name="font.title" type="float" value="16" />
<Token name="font.body" type="float" value="13" />
</Theme>

View File

@@ -7,37 +7,89 @@
title="XCUI Layout Lab"
subtitle="Resource-driven row / column / overlay stress." />
<Row id="mainRow" height="stretch" gap="14">
<Column id="leftColumn" width="0.28" gap="12">
<Card id="leftTop" height="stretch" title="Left Column" subtitle="Stack item 1" />
<Card id="leftBottom" height="stretch" title="Left Column" subtitle="Stack item 2" />
<Column id="leftRail" width="272" gap="10">
<Card
id="toolShelf"
height="62"
tone="accent-alt"
title="Tool Shelf"
subtitle="Scene, asset, and play-mode actions." />
<ScrollView id="assetList" height="stretch" padding="10" gap="8" scrollY="132">
<Card
id="assetListHeader"
height="54"
tone="accent-alt"
title="Project Browser"
subtitle="Pinned filters and import shortcuts." />
<TreeView id="projectTree" height="156" padding="8" gap="6">
<TreeItem id="treeAssetsRoot" title="Assets" subtitle="Workspace root" />
<TreeItem id="treeScenes" title="Scenes" subtitle="4 authored scenes" indent="1" />
<TreeItem id="treeMaterials" title="Materials" subtitle="Shared lookdev library" indent="1" />
<TreeItem id="treeCharacters" title="Characters" subtitle="Prefab variants" indent="1" />
<TreeItem id="treeUi" title="UI" subtitle="Runtime atlas + themes" indent="1" />
</TreeView>
<ListView id="recentAssetList" height="360" padding="8" gap="6">
<ListItem id="assetMaterials" title="Materials_Master" subtitle="14 assets selected" />
<ListItem id="assetTerrain" title="Terrain_Cliffs_04" subtitle="Texture2D -4096 x 4096" />
<ListItem id="assetLighting" title="Lighting_GlobalRig" subtitle="Prefab -Directional setup" />
<ListItem id="assetCharacter" title="Hero_Character_Controller" subtitle="Prefab -Animation graph bound" />
<ListItem id="assetUiAtlas" title="UI_RuntimeAtlas" subtitle="SpriteAtlas -83 packed sprites" />
</ListView>
</ScrollView>
</Column>
<Overlay id="centerOverlay" width="0.42">
<Column id="centerColumn" width="stretch" gap="10">
<Card
id="overlayBase"
title="Center Overlay"
subtitle="Base layer filling the entire region." />
id="viewportToolbar"
height="62"
title="Viewport Toolbar"
subtitle="Gizmos, snap presets, camera bookmarks." />
<Overlay id="viewportOverlay" height="stretch">
<Card
id="viewportBase"
title="Scene Viewport"
subtitle="Primary preview surface with composition overlays." />
<Card
id="viewportBadge"
x="18"
y="18"
width="224"
height="68"
tone="accent-alt"
title="Selection Overlay"
subtitle="Bounds, pivots, nav markers." />
<Card
id="viewportInspectorBubble"
x="0.58"
y="0.54"
width="0.32"
height="88"
tone="accent-alt"
title="Context Bubble"
subtitle="Inline quick edit affordance." />
</Overlay>
</Column>
<Column id="inspectorColumn" width="320" gap="10">
<Card
id="overlayNorth"
x="18"
y="18"
width="0.42"
height="72"
tone="accent-alt"
title="Overlay A"
subtitle="Floating note" />
<Card
id="overlayCenter"
x="0.28"
y="0.45"
width="0.44"
height="86"
tone="accent-alt"
title="Overlay B"
subtitle="Centered overlay layer" />
</Overlay>
<Column id="rightColumn" width="stretch" gap="12">
<Card id="rightTop" height="stretch" title="Right Column" subtitle="Another stacked column" />
<Card id="rightBottom" height="stretch" title="Right Column" subtitle="Pairs with the overlay stage" />
id="inspectorSummary"
height="88"
title="Inspector Summary"
subtitle="Transform, renderer, and prefab overrides." />
<ScrollView id="inspectorSections" height="stretch" padding="10" gap="8" scrollY="52">
<PropertySection id="inspectorTransform" height="156" title="Transform" subtitle="Position / rotation / scale">
<FieldRow id="fieldPosition" title="Position" subtitle="0.0, 1.5, 0.0" />
<FieldRow id="fieldRotation" title="Rotation" subtitle="0.0, 42.0, 0.0" />
<FieldRow id="fieldScale" title="Scale" subtitle="1.0, 1.0, 1.0" />
</PropertySection>
<PropertySection id="inspectorMesh" height="156" title="Mesh Renderer" subtitle="Materials, shadow flags, probes">
<FieldRow id="fieldMaterial" title="Material" subtitle="M_StylizedTerrain" />
<FieldRow id="fieldShadows" title="Cast Shadows" subtitle="On" />
<FieldRow id="fieldProbe" title="Light Probe" subtitle="Blend Probes" />
</PropertySection>
<PropertySection id="inspectorMetadata" height="132" title="Metadata" subtitle="Tags, labels, import provenance">
<FieldRow id="fieldTags" title="Tags" subtitle="Gameplay, Hero, Traversal" />
<FieldRow id="fieldImportedBy" title="Imported By" subtitle="Asset pipeline v2" />
</PropertySection>
</ScrollView>
</Column>
</Row>
<Overlay id="footerOverlay" height="146">