﻿# NexamasUIShowcase Consumer Migration — Group 1

Date: 2026-06-10

This pass migrates the showcase from scattered numeric layout calls to a single consumer-owned presentation contract.

## Scope

- Centralize WinForms host window sizes in `ShowcasePresentationContract`.
- Centralize showcase page padding, content width, spacing, grid gaps, and special sample control size boosts.
- Keep actual layout execution through the official Nexamas.UI public gateways:
  - `Window.Controls.LayoutPage`
  - `page.Section`
  - `page.Grid`
  - `page.FullWidth`
  - `MASSize`
- Remove direct settings-page numeric options from `MASApplicationSettingsPageOptions` consumption.

## Architectural rule

The showcase is an external consumer. It may own its own presentation contract, but it must not create a parallel layout engine.

Therefore this pass does not introduce custom positioning, custom bounds math, wrappers, adapters, or duplicated MASLayout behavior. The contract only names the sample app's presentation intents and then delegates to MASSize/MASLayout.

## Important files

- `TestForms/ShowcasePresentationContract.vb`
- `TestForms/NexamasUIShowcaseWindowBase.vb`
- `NexamasUIShowcase.vb`
- `TestForms/ShowcaseSamples.vb`

## Result

Showcase pages no longer scatter calls like numeric `Padding`, `Gap`, `MaxContentWidth`, or `OffsetHeight` across individual samples. Those values are now centralized and named by intent, while the official Nexamas.UI layout gateway remains the only layout executor.
