phoxal-macros 0.14.0

Proc-macros for the phoxal framework: phoxal_api_tree!, #[derive(Runtime)], #[phoxal::runtime].
Documentation

Proc-macros for the phoxal framework.

Three macros make up the authoring surface:

  • [phoxal_api_tree!] — declares the dated API-version modules (phoxal::api::y2026_1, …), their version-local body types, the ContractBody/ApiVersion impls, and the api-local topic builders.
  • [derive@Runtime] — reads a runtime struct's typed handle fields plus the #[phoxal(id = …, api = …, config = …)] attribute and emits the static metadata (RuntimeFields) the runner and emit-apis consume.
  • [macro@runtime] — the bare #[phoxal::runtime] attribute on the inherent impl; it reads #[setup]/#[step]/#[shutdown] (and, in the query slice, #[server]/#[server_snapshot]/#[snapshot]) and emits the lifecycle dispatch (RuntimeBehavior).

Generated code references the framework through ::phoxal::…; the engine crate makes that path resolve to itself with extern crate self as phoxal;.