Bundle matrix-free, partitioned, and COO assembler tests behind one `@testset`.
- Include zero-alloc, MPC, eigensolve, and surface-load coverage files.
Track global facet topology metadata for hex meshes used by face-based DOFs.
- Introduce `Hex8FacetMaps` construction helpers and orientation bookkeeping.
Provide edge/face global IDs and orientation hints for lowest-order facet DOFs on tets.
- Introduce `Tet4FacetMaps` plus builders consumed by DOF handlers.
Wire optional loading of historical Problems, fields, solvers, and Abaqus IO after
the modern core is defined.
- Gate includes on `JULIAFEM_ENABLE_LEGACY` from `JuliaFEM.jl`.
Document what ships behind `JULIAFEM_ENABLE_LEGACY=1` and how includes are ordered.
- Summarize Dict fields, Problems/Solvers, and Abaqus IO relocation.
Introduce the legacy augmented-system representation used by `Solver`/`Analysis`.
- Track stiffness blocks, constraint matrices, and RHS assembly scratch.
Move `get_nonzero_rows`, resizing utilities, and related helpers into the opt-in
Legacy stack for solver wiring.
- Provide CSC-only helpers consumed by `legacy/solvers.jl` / `linear_system.jl`.
Provide Fourier heat flux linear map with `HeatKernel` trait hooks.
- Implement `HeatConductivity` constants and stress/tangent analogues for diffusion.
Extend J₂ plasticity with Armstrong–Frederick backstress slots using compositional state tags.
- Add `ChabocheJ2Plasticity` plus `compute_stress` integration.
Combine Green–Lagrange kinematics with J₂ return mapping on the elastic predictor.
- Override `continuum_kinematics` and declare required IP state variables.
Provide additional `StatelessStrainDependent` models alongside Neo-Hookean.
- Implement strain-energy densities and `compute_stress` bridges for common hyperelastic forms.
Implement rotation-aware orthotropic Hooke law with trait hooks for continuum assembly.
- Add `OrthotropicLinearElastic` plus stress/tangent evaluation utilities.
Implement the NamedTuple-backed integration-point workspace used across kernels,
including zero-state construction, getters/setters, and trait-driven sizing.
- Introduce `GlobalMaterialCache{StateType}` with paired current/old IP state matrices.
- Wire `material_state_type`, `create_global_material_cache`, and helpers that map
`required_state_variables` into concrete state tuples.
Add `basis_quadrature_order` and an `integration_points(topology, basis)` overload
so assembly can match Gauss rules to `Lagrange{P}` / `Serendipity{P}` instead of
inferring order only from topology node counts.
- Delegate rule choice to `default_quadrature(T, ord)` with `ord` from the basis.
Introduce `SmallStrainKinematics` vs `GreenLagrangeKinematics` hooks so
`update_material_cache!` can pick the strain measure per material.
- Define `AbstractContinuumKinematics`, concrete tags, and default
`continuum_kinematics(::AbstractMaterial)` dispatch.
Provide the Lamé-style symmetric identity tensor builder shared by elastoplastic
material implementations.
- Add `symmetric_identity_tensor()` returning `SymmetricTensor{4,3}` with SPDX header.