frontend.yui · function ·

PlanYuiHostSurfaceRetainedV1

Store state and identity are passed as inert snapshots only after the early phase. This keeps resource lookup and all provider/native work after invalid, native-idle, and compositor-only returns.

cpufrontendfrontend.yuifunctionsource-exampleyehoyui

Turn YUI models into a working frontend and its rendering/input adapters.

external PlanYuiHostSurfaceRetainedV1(yuiHostSurfaceStateV1 original surface, yuiRetainedFramePlan original plan, bool stored, text storeState, text storeSurfaceId) returns yuiHostSurfaceRetainedDecisionV1

Status: source-declared

Parameters

yuiHostSurfaceStateV1 original surface
Supply surface as yuiHostSurfaceStateV1 original.
yuiRetainedFramePlan original plan
Supply plan as yuiRetainedFramePlan original.
bool stored
Supply stored as bool.
text storeState
Supply store state as text.
text storeSurfaceId
Supply store surface id as text.

Use PlanYuiHostSurfaceRetainedV1

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

cpu · source-example · type checked

using frontend.yui

// Turn YUI models into a working frontend and its rendering/input adapters.
yuiHostSurfaceStateV1 surface = yuiHostSurfaceStateV1(1, 1)
yuiRetainedFramePlan plan = yuiRetainedFramePlan("surface Id", "reason")
bool stored = true
text storeState = "store State"
text storeSurfaceId = "store Surface Id"
yuiHostSurfaceRetainedDecisionV1 result = PlanYuiHostSurfaceRetainedV1(surface, plan, stored, storeState, storeSurfaceId)
Console.Log("Inspect result in your debugger")
project.mech
manifestVersion = "2"
package = "api.example.frontend_yui__planyuihostsurfaceretainedv1"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "frontend.yui"
version = "0.2.0"
path = "../../../yeho/packages/frontend/yui"

[[dependencies]]
package = "graphics.canvas"
version = "0.1.0"
path = "../../../yeho/packages/graphics/canvas"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.image.processing"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image/processing"

[[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 = "input.text"
version = "0.1.0"
path = "../../../yeho/packages/input/text"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"
Notes and source

Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

yeho/packages/frontend/yui/host-surface-surface.yh:155