# uiSurfaceState

A ui surface state record carrying id, requestedWidth, requestedHeight, actualWidth, actualHeight, 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 uiSurfaceState
```

- text id: Stores id as text.
- int requestedWidth: Stores requested width as int.
- int requestedHeight: Stores requested height as int.
- int actualWidth: Stores actual width as int.
- int actualHeight: Stores actual height as int.
- int scalePercent: Stores scale percent as int.
- bool visible: Stores visible as bool.
- bool enabled: Stores enabled as bool.
- bool focused: Stores focused as bool.
- bool disposed: Stores disposed as bool.
- bool dirtyBlock: Stores dirty block as bool.
- bool dirtyLayout: Stores dirty layout as bool.
- bool dirtyViewport: Stores dirty viewport as bool.
- bool dirtyText: Stores dirty text as bool.
- bool dirtyLayer: Stores dirty layer as bool.
- text lifecycle: Stores lifecycle as text.
- text root: Stores root as text.
- text focusOwner: Stores focus owner as text.
- text pointerOwner: Stores pointer owner as text.
- text lastInput: Stores last input as text.
- text frameReason: Stores frame reason as text.
- text diagnostic: Stores diagnostic as text.
- uiSurfaceState(text id, int requestedWidth, int requestedHeight, int actualWidth, int actualHeight, int scalePercent, text root): Ui surface state.
- MarkInvalid(text message) returns uiSurfaceState: Mark invalid.
- RenderLifecycle() returns text: Render lifecycle.
- RenderDirtyState() returns text: Render dirty state.

## Use uiSurfaceState

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.
uiSurfaceState sample = uiSurfaceState("id", 1, 1, 1, 1, 1, "root")
Console.Log(Text.From(sample.id))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__uisurfacestate"
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--uiSurfaceState/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## uiSurfaceState.MarkInvalid

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Mark invalid.
uiSurfaceState instance = uiSurfaceState("id", 1, 1, 1, 1, 1, "root")
text argument_message = "argument message"
uiSurfaceState result = instance.MarkInvalid(argument_message)
Console.Log("Inspect result in your debugger")

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__uisurfacestate"
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--uiSurfaceState/method-MarkInvalid-23 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## uiSurfaceState.RenderLifecycle

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Render lifecycle.
uiSurfaceState instance = uiSurfaceState("id", 1, 1, 1, 1, 1, "root")
text result = instance.RenderLifecycle()
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__uisurfacestate"
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--uiSurfaceState/method-RenderLifecycle-24 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## uiSurfaceState.RenderDirtyState

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using ui

// Render dirty state.
uiSurfaceState instance = uiSurfaceState("id", 1, 1, 1, 1, 1, "root")
text result = instance.RenderDirtyState()
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.ui__uisurfacestate"
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--uiSurfaceState/method-RenderDirtyState-25 --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/surface-surface.yh

AI training permission: https://demonhunterlabs.com/ai-use
