caexfer 0.2.0

Transfer finite-element meshes, voxel occupancy, and results across CAE formats
Documentation
# Voxel geometry scope for 0.2.0

Version 0.2.0 covers two workflows: exchange an existing regular voxel grid, and
voxelize supported mesh geometry. Neither workflow infers physical units.

## Existing grids

Read and write VTK XML ImageData (`.vti`) within a documented subset. Retain
the grid extent, origin, and spacing. This release accepts one cell-associated
binary occupancy array; point arrays and other cell arrays are unsupported.
Converting a grid to an explicit mesh must use the correct VTK
voxel-to-hexahedron corner order. Reject or report metadata
that the destination cannot retain; do not silently reinterpret a grid as an
unrelated collection of hexahedra.

## Mesh voxelization

Convert supported closed surface or volume geometry to a regular grid using
`--infill-shape hex8 --infill-unit-size N`, or use `--match-grid FILE` to
sample on a reference VTI grid. The output records geometry occupancy on cells, not
interpolated solver results. Report source result fields that the voxelization
does not carry, and reject geometry whose inside and outside cannot be
determined reliably. Bounds, indexing, and boundary treatment must be
deterministic and documented. Check dimensions and allocation size before
building the grid.

## Completion checks

- Verify tiny grids, nonzero origins, nonunit spacing, boundary voxels, and
  invalid or excessive dimensions.
- Verify grid files and voxelized output with an independent VTK reader.
- Check that mesh result values never appear as interpolated voxel values and
  that omissions are visible in conversion reports.
- Update the CLI, library, and support guides only as each route is implemented.