Skip to content

axiolid-dispatch ​

Provider registration, ordering, fallback, and execution policy.

Latest release0.3.13 (2026-11-13)
crates.ioaxiolid-dispatch
Facadeaxiolid feature dispatch-mesh-boolean, dispatch-mesh-hidden-lines, dispatch-mesh-section, dispatch-pointcloud-reconstruction
Layerexecution (execution.dispatch)
API documentationrustdoc · docs.rs
Sourcecrates/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.

FeatureEnables
mesh-booleanaxiolid-core, axiolid-mesh, axiolid-mesh-contracts, axiolid-mesh-boolean-contract
mesh-hidden-linesaxiolid-core, axiolid-mesh, axiolid-mesh-hidden-lines-contract
mesh-sectionaxiolid-core, axiolid-mesh, axiolid-mesh-contracts, axiolid-mesh-section-contract
parallelaxiolid-backend-cpu, axiolid-backend-cpu/parallel
pointcloud-reconstructionaxiolid-pointcloud, axiolid-pointcloud-reconstruction-contract

Depends on ​

Changes ​

Latest release, 0.3.13 (2026-11-13):

Added ​

  • MeshHiddenLinesRegistry and MeshVisibleFacesRegistry route by supports_projection: a provider that does not support the view's projection is skipped, and a request no provider supports is Unsupported before the topology audit. A perspective view needs a near below zero (InvalidInput otherwise). register_perspective_conformant registers a provider after the base suite and the perspective suite. register_conformant of both registries also runs the perspective suite when the provider claims perspective, so an unverified claim is refused (ADR 0107, #387).
  • MeshVisibleFacesRegistry accepts FaceGroups::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).
  • MeshHiddenLinesRegistry accepts EdgeKind::GroupBoundary segments only when EdgeSelection::group_boundary is set, and then refuses a PerTriangle group slice of the wrong length naming the mesh (ADR 0106, #385).

Full history: crates/execution/dispatch/CHANGELOG.md

Released under the Mozilla Public License 2.0.