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.
Active environment version baked into the running build. Defaults to
EnvVersion::Release before set_app_config is called and for any
app.json produced before the envVersion field existed.
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.