Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

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.0
  • manifold:core/ops@0.2.0
  • manifold:core/text@0.2.0
  • manifold:core/types@0.2.0
  • manifold:ecs/resource-bundle@0.2.0
  • manifold:game/asset-source@0.1.0
  • manifold:game/clock@0.1.0
  • manifold:game/persistent-storage@0.1.0
  • manifold:game/ui@0.1.0
  • manifold:world/block-world@0.2.0

Exports:

  • manifold:core/plugin-lifecycle@0.2.0
  • manifold:ecs/plugin-systems@0.2.0
  • manifold: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.0
  • manifold:core/ops@0.2.0
  • manifold:core/text@0.2.0
  • manifold:core/types@0.2.0
  • manifold:ecs/resource-bundle@0.2.0
  • manifold:game/asset-source@0.1.0
  • manifold:game/clock@0.1.0
  • manifold:game/persistent-storage@0.1.0
  • manifold:game/ui@0.1.0
  • manifold:world/block-world@0.2.0