Skip to content

Provide a supported Rust application facade and provider path #51

Description

@GeneralPawz

What

Turn the feature-gated axiolid facade and provider-selection path into a supported application boundary. A consumer must be able to select an explicit portable provider, inspect capabilities, execute the v0.4 reference workflows, and receive structured results or typed refusal without importing implementation-private modules.

Why now

The facade currently re-exports leaf crates, while executable workflows still require detailed knowledge of contracts, dispatch crates, and concrete providers. Native bindings and examples should wrap one coherent application boundary rather than duplicating internal assembly logic.

Definition of done

  • A clean external Rust program executes mesh validation, measurement, boolean difference, batched opening subtraction, and a spatial query through documented public paths.
  • At least one exact construction path is callable without introducing an implicit mesh fallback.
  • Provider selection and capability inspection are explicit and testable.
  • Errors preserve operation, provider, tolerance, and refusal context.
  • Supported facade feature bundles have closure-budget fixtures; narrow leaf-crate consumption remains supported.
  • Public types do not expose implementation-private provider types accidentally.

Non-goals

This does not require exact B-rep parity for every constructor or operation.

Area

architecture

Effort

High

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

capabilityImplements an accepted capability (converted from a discussion)

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions