# yuiLayoutSpec

A yui layout spec record carrying kind, minWidth, minHeight, preferredWidth, preferredHeight, and related state.

Last updated: 2026-09-09

Package: ui | Status: source-declared

Tags: cpu, method, source-example, thing, ui, yeho

Build YUI's reusable control, layout, interaction, text, accessibility, and retained-rendering models.

```yh
external thing yuiLayoutSpec
```

- text kind: Stores kind as text.
- int minWidth: Stores min width as int.
- int minHeight: Stores min height as int.
- int preferredWidth: Stores preferred width as int.
- int preferredHeight: Stores preferred height as int.
- int maxWidth: Stores max width as int.
- int maxHeight: Stores max height as int.
- int fixedWidth: Stores fixed width as int.
- int fixedHeight: Stores fixed height as int.
- int scrollWidth: Stores scroll width as int.
- int scrollHeight: Stores scroll height as int.
- yuiLayoutSpec(text kind, int minWidth, int minHeight, int preferredWidth, int preferredHeight, int maxWidth, int maxHeight, int fixedWidth, int fixedHeight, int scrollWidth, int scrollHeight): Yui layout spec.
- Describe() returns text: Describe.

## Use yuiLayoutSpec

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using ui

// Build YUI's reusable control, layout, interaction, text, accessibility, and retained-rendering models.
yuiLayoutSpec sample = yuiLayoutSpec("kind", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
Console.Log(Text.From(sample.kind))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__yuilayoutspec"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/ui--yuiLayoutSpec/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## yuiLayoutSpec.Describe

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Describe.
yuiLayoutSpec instance = yuiLayoutSpec("kind", 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
text result = instance.Describe()
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__yuilayoutspec"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/ui--yuiLayoutSpec/method-Describe-12 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: yeho/packages/ui/ui.yh

AI training permission: https://demonhunterlabs.com/ai-use
