test(app)+docs: CC4 REVIEW-CLOSED — R5 chargen root extent pinned by observation
The final CC4 re-review closed R1-R4 (the fixed-canvas arbiter, headless create-gate proof, #402 filing) and left one residual: the arbiter's mismatch-throw makes 'both char-select screens author 800x600' a crash premise on the exact user-gate path (ACDREAM_OPEN_CHARGEN=1 -> char-management declares -> chargen declares on top), and only char-management's extent was DAT-pinned. The chargen live-DAT probe now pins the root at 800x600 the same way — measured against the installed DAT (passes 7/7), not inferred. Ledger row flipped to REVIEW-CLOSED with real shas. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> EOF
This commit is contained in:
parent
8add0667a5
commit
7b52b80c3f
2 changed files with 15 additions and 1 deletions
File diff suppressed because one or more lines are too long
|
|
@ -43,6 +43,20 @@ public sealed class CharacterCreationLiveDatTests
|
|||
CharacterCreationUiController.RootElementId,
|
||||
screen.Root.DatElementId);
|
||||
|
||||
// CC4 re-review R5: the fixed-canvas arbiter THROWS if two concurrent
|
||||
// screens declare different sizes, and char-management's root is
|
||||
// DAT-pinned at 800x600 (CharacterManagementLiveDatTests). Chargen
|
||||
// declares on top of it on the exact user-gate path, so its authored
|
||||
// extent must be pinned too — an unequal extent is now a crash at
|
||||
// Open(), not a cosmetic drift. Observe, don't infer (C4 closeout).
|
||||
ElementInfo rootInfo = Assert.IsType<ElementInfo>(
|
||||
LayoutImporter.ImportInfos(
|
||||
dats,
|
||||
layoutId,
|
||||
CharacterCreationUiController.RootElementId));
|
||||
Assert.Equal(800f, rootInfo.Width);
|
||||
Assert.Equal(600f, rootInfo.Height);
|
||||
|
||||
Assert.IsAssignableFrom<UiElement>(
|
||||
screen.FindElement(CharacterCreationUiController.ProgressBarElementId));
|
||||
AssertButton(screen, CharacterCreationUiController.BackElementId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue