acdream/tests/AcDream.App.Tests/UI/Layout
Erik 9c8db0d577 feat(D.5.1): UiItemList widget + factory branch for class 0x10000031
Ports retail UIElement_ItemList (class 0x10000031) as a behavioral-leaf
container that owns its UiItemSlot children procedurally. Single-cell
default covers every toolbar slot; N-cell grid is deferred to the inventory
phase. OnDraw syncs the cell rect to the list's Width/Height each frame so
the cell is sized and hit-testable from the first rendered frame, even
though the factory sets rect AFTER construction.

Factory: adds `0x10000031u => new UiItemList(resolve)` arm before the
fallback, so all 18 toolbar itemlist slots route to UiItemList instead of
UiDatElement.

Tests: 4 new (IsLeafWidget, StartsWithOneCell, Cell_returnsFirstSlot,
Create_buildsUiItemList_forItemListClassId). All 4 pass; full suite green
(415 pass / 2 skip in App.Tests; 0 fail total).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 22:28:37 +02:00
..
fixtures test(D.2b): chat golden fixture + resolved-Type conformance (widget-generalization Task 1) 2026-06-16 16:55:51 +02:00
ChatLayoutConformanceTests.cs test(D.2b): chat golden fixture + resolved-Type conformance (widget-generalization Task 1) 2026-06-16 16:55:51 +02:00
ChatLayoutFixtureGenerator.cs test(D.2b): chat golden fixture + resolved-Type conformance (widget-generalization Task 1) 2026-06-16 16:55:51 +02:00
ChatWindowControllerTests.cs feat(D.2b): UiField (Type 3) — editable input as a generic field; remove the stray Type-12 input placeholder (widget-generalization Task 6) 2026-06-16 17:48:51 +02:00
DatWidgetFactoryTests.cs feat(D.5.1): UiItemList widget + factory branch for class 0x10000031 2026-06-16 22:28:37 +02:00
ElementReaderTests.cs fix(D.2b): correct edge-anchor mapping (RightEdge==1=stretch) + enable vitals horizontal resize 2026-06-15 17:05:04 +02:00
FixtureLoader.cs test(D.2b): chat golden fixture + resolved-Type conformance (widget-generalization Task 1) 2026-06-16 16:55:51 +02:00
LayoutConformanceTests.cs fix(D.2b): do NOT register Type 3 -> UiField (review fix for Task 6) 2026-06-16 17:53:56 +02:00
LayoutImporterTests.cs feat(D.2b): UiText (Type 12) -- generic text + Type-12 flip; transcript factory-built (widget-generalization Task 5) 2026-06-16 17:39:02 +02:00
UiDatElementTests.cs feat(D.2b): importer renders Type-12-with-sprites + carries DefaultState 2026-06-15 22:54:37 +02:00
VitalsBindingTests.cs feat(D.2b): vitals numbers as UiText (widget-generalization Task 8) 2026-06-16 18:52:42 +02:00