The one place each host capability is decided. lx.supports(), the FFI
capability bitmask, and the optional lx.* members all read these, so they
cannot drift apart.
The capabilities: section, shared verbatim between the CLI (parsing
lingxia.yaml, writing app.json) and the runtime (reading app.json) —
one definition so a capability can never exist on one side only.
deny_unknown_fields gives lingxia.yaml typo errors; the runtime always
reads an app.json generated by the same CLI build, so it never sees fields
this struct lacks.
Runtime half of splash:. Images and colors are platform resources; only
the minimum hold time is a runtime decision, and the upper bound is a
framework constant that hosts deliberately cannot configure.
Light/dark as a choice: auto follows the system, light and dark pin
it. The product’s setting, an lxapp manifest’s pin, and theme’s default
all speak it.
Hold a resolved campaign until the launch face is ready to hand over.
Returns false when home already crossed that boundary and the late answer
was dropped.
Take the campaign, if one arrived in time. Taking rather than reading:
the launch face hands over exactly once, and a campaign that missed that
moment must not surface later over real content.