manifold:worlds 0.2.0
Contract reference · Payloads · contract.json (crates/manifold-wasm-abi/wit/contract.json)
Contract 0.2.0, track 0.2: open, unreleased. Nothing on track 0.2 is released yet, so any item may still change in place (spec §7.2).
World host
Every import plus every guest export: the host’s bindings. The host
never instantiates this world; it links each interface a component
imports and resolves each export on its own. Guests do not bind it:
#[mod_entry(exports(...))] builds an inline world that includes
imports and exports plugin-lifecycle plus the exports the mod names
(spec §6.4).
Imports:
manifold:core/logging@0.2.0manifold:core/ops@0.2.0manifold:core/text@0.2.0manifold:core/types@0.2.0manifold:ecs/resource-bundle@0.2.0manifold:game/asset-source@0.1.0manifold:game/clock@0.1.0manifold:game/persistent-storage@0.1.0manifold:game/ui@0.1.0manifold:world/block-world@0.2.0
Exports:
manifold:core/plugin-lifecycle@0.2.0manifold:ecs/plugin-systems@0.2.0manifold:game/plugin@0.1.0
World imports
Worlds select what binding generators emit; the host links interface by
interface from each component’s imports and never instantiates a world.
Every interface a game module may import, and every interface an export
uses: a guest’s inline world includes this one, and its with: map
must cover every import (spec §19 issue 14). Types-only interfaces are
listed explicitly so bindings never depend on which exports use them.
Imports:
manifold:core/logging@0.2.0manifold:core/ops@0.2.0manifold:core/text@0.2.0manifold:core/types@0.2.0manifold:ecs/resource-bundle@0.2.0manifold:game/asset-source@0.1.0manifold:game/clock@0.1.0manifold:game/persistent-storage@0.1.0manifold:game/ui@0.1.0manifold:world/block-world@0.2.0