phoxal-macros 0.46.0

Proc-macros for the phoxal framework API tree and participant authoring model.
Documentation

Proc-macros for the phoxal framework.

Three macro families make up the authoring surface:

  • [phoxal_api_tree!] - declares concrete API-revision modules (phoxal_api::v0_1, …), their revision-local body types, the ContractBody/ApiVersion impls, and the api-local topic builders.
  • [derive@Config] - derives the config schema embedded in participant metadata.
  • [macro@service] / [macro@driver] / [macro@simulator] / [macro@tool] - declare a unit marker's Config/State/Api types and identity (ParticipantSpec).
  • [macro@step] - records cadence on the ordinary Participant::step override. Setup, reset, shutdown, and query handlers are plain Rust.

The participant authoring macros (macro@service / macro@driver / macro@tool / macro@simulator / macro@step) reference the framework through ::phoxal::…; the engine crate makes that path resolve to itself with extern crate self as phoxal;. The phoxal_api_tree! output instead targets the bus ABI floor directly as ::phoxal_bus, since it is invoked in the phoxal-api crate, which does not depend on the engine.