axiolid-dispatch
Provider registration, ordering, fallback, and execution policy.
| Latest release | 0.3.13 (2026-11-13) |
| crates.io | axiolid-dispatch |
| Facade | axiolid feature dispatch-mesh-boolean, dispatch-mesh-hidden-lines, dispatch-mesh-section, dispatch-pointcloud-reconstruction |
| Layer | execution (execution.dispatch) |
| API documentation | rustdoc · docs.rs |
| Source | crates/execution/dispatch/ |
Overview
Runtime registries for operation providers: MeshBooleanRegistry, MeshPlaneSectionRegistry, MeshHiddenLinesRegistry, MeshVisibleFacesRegistry (behind the mesh-hidden-lines feature) and PointcloudReconstructionRegistry, each behind its own feature. A registry owns provider ordering, device matching, fallback to the next provider, and memory-budget admission. It defines no request or result types: those live in the operation-contract crates, and providers implement them without depending on this crate. The parallel feature scopes each dispatched call to a caller-owned CPU pool.
Features
Default: none.
| Feature | Enables |
|---|---|
mesh-boolean | axiolid-core, axiolid-mesh, axiolid-mesh-contracts, axiolid-mesh-boolean-contract |
mesh-hidden-lines | axiolid-core, axiolid-mesh, axiolid-mesh-hidden-lines-contract |
mesh-section | axiolid-core, axiolid-mesh, axiolid-mesh-contracts, axiolid-mesh-section-contract |
parallel | axiolid-backend-cpu, axiolid-backend-cpu/parallel |
pointcloud-reconstruction | axiolid-pointcloud, axiolid-pointcloud-reconstruction-contract |
Depends on
axiolid-backend-cpuaxiolid-contractsaxiolid-coreaxiolid-meshaxiolid-mesh-boolean-contractaxiolid-mesh-contractsaxiolid-mesh-hidden-lines-contractaxiolid-mesh-section-contractaxiolid-pointcloudaxiolid-pointcloud-reconstruction-contract
Changes
Latest release, 0.3.13 (2026-11-13):
Added
MeshHiddenLinesRegistryandMeshVisibleFacesRegistryroute bysupports_projection: a provider that does not support the view's projection is skipped, and a request no provider supports isUnsupportedbefore the topology audit. A perspective view needs anearbelow zero (InvalidInputotherwise).register_perspective_conformantregisters a provider after the base suite and the perspective suite.register_conformantof both registries also runs the perspective suite when the provider claims perspective, so an unverified claim is refused (ADR 0107, #387).MeshVisibleFacesRegistryacceptsFaceGroups::Planar: it checks that a region's group id is a triangle of the mesh and no later than any triangle the region lists, and does not recompute the groups (ADR 0106, #384).MeshHiddenLinesRegistryacceptsEdgeKind::GroupBoundarysegments only whenEdgeSelection::group_boundaryis set, and then refuses aPerTrianglegroup slice of the wrong length naming the mesh (ADR 0106, #385).
Full history: crates/execution/dispatch/CHANGELOG.md