Files
OneCAD-Simulation/ROADMAP.md
T
f36b1d9a69 Open .solidcraft designs: rebuild, persistent face names, geometry commands (#4)
* geometry: open .solidcraft designs, rebuild them and keep persistent face names

open_design(bytes) reads a design (container or JSON) with solidcraft-io, rebuilds its
timeline with solidcraft-doc and returns its bodies; each Shape carries SolidCraft's
persistent face names by B-rep face index, so a face keeps its name through a parameter
edit. sample::plate_design builds a parametric test plate in code.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* engine: geometry.open, geometry.bodies and geometry.tessellate

The session holds the open design (shared, restored on a failed command, journalled when
it changes). Hostile-params coverage includes non-files, missing files, oversized paths and
extreme tolerances against an open design.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* docs: opening SolidCraft designs in the architecture and roadmap

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

* geometry: open_design_file reads through SolidCraft's bounded file access; simplify

The engine's hand-rolled capped read is replaced by open_design_file, which uses
solidcraft_io::vfs::read (refuses non-regular files before opening, works on the browser's
in-memory files). Drops the duplicate size check, simplifies the sample sketch and the
design-change test in Session::execute.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm

---------

Co-authored-by: jyviko <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
2026-10-13 14:41:05 -04:00

1.7 KiB
Raw Blame History

Roadmap

ModelCraft's goal is CAE pre-processing on par with Abaqus/CAE, Nastran pre-processors and LS-PrePost, with hexahedral meshing as the centre of gravity, plus its own linear solver.

Milestone Scope Status
M0 Foundation Workspace, quality gates (cargo xtask ci), FE model, command engine with rollback and panic guard, CLI, geometry boundary on SolidCraft's kernel and tessellator done
M1 Surface preparation Geometry in: open .solidcraft designs, rebuilt by SolidCraft, with persistent face names (done); robust adaptive-precision predicates; weld, closed/manifold/orientation checks and feature edges on the tessellated boundary; mesh quality metrics next
M2 Tetrahedral meshing Bowyer–Watson Delaunay, robust constrained Delaunay boundary recovery (Diazzi et al. 2023), Delaunay refinement to a size field, ODT smoothing, Klingner–Shewchuk sliver removal; linear and quadratic tets planned
M3 Hexahedral meshing (core) Octree/grid dual all-hex (valid on any input), then hex-dominant by tet recombination, then polycube for blocky parts; see docs/meshing/literature.md planned
M4 Model definition Materials, sections, sets and surfaces, boundary conditions, loads, steps, output requests planned
M5 Solver decks Abaqus input, Nastran bulk data, LS-DYNA keyword: writers first, then readers planned
M6 Linear solver Element library, sparse assembly, linear static and modal analysis, verified against analytic solutions planned
M7 Desktop and agents egui desktop app, control channel, MCP server, browser build planned
M8 Post-processing Results display: deformed shape, contours, probes planned