dart-architecture

star 1.1k

DART Architecture: the DART 7 multi-physics, multi-solver, multi-backend simulation pipeline and where each abstraction is owned

dartsim By dartsim schedule Updated 6/5/2026

name: dart-architecture description: "DART Architecture: the DART 7 multi-physics, multi-solver, multi-backend simulation pipeline and where each abstraction is owned"

DART 7 Architecture

Load this skill when working on the DART 7 simulation World, on solvers/physics domains/compute backends, or whenever a task needs the big-picture map of how DART 7 is generalized for multi-physics, multi-solver, and multi-backend simulation.

The design in one sentence

The World owns topology, time, and a configured set of solvers; each solver advances the dynamics of the entities in its physics domain, and couplers mediate interactions between domains — with parallelizable work expressed as compute-graph nodes that any backend executor runs. Users configure method families and policies, never solver registries, component storage, or execution backends.

Why three axes of choice

  • Research, apples-to-apples. A new paper's algorithm should be reproducible and benchmarkable inside DART against baselines on shared foundations, not in a fork. New methods enter through DART-owned solver families.
  • End-user choice. Users pick the solver method and (internally) backend that fit their accuracy/speed/platform needs.
  • Auto-configuration. Defaults are selected from scene content so the easy path stays trivial; the backend seam is designed for later platform/scene-scale awareness without changing the public API.

Design vs current state (read both)

docs/readthedocs/architecture.md is the single-page map of the design and the options at each seam, with honest status markers. docs/design/dart7_architecture_assessment.md is the verified record of where the implementation still diverges from that design (no internal solver contract yet, conceptual-only Model/State split, executor seam unused by dynamics stages, missing apples-to-apples substrate) and owns the standing rule: new solver families enter only through docs/plans/solver-family-intake.md, including contract conformance and machine-recorded solver identity in all benchmark evidence. The fixes are executed as PLAN-091 work packets (docs/plans/091-architecture-hardening.md) under the orchestrator/executor model in docs/ai/orchestration.md. Do not write new code that copies a pattern the assessment lists as a verified finding.

Key owner documents

The architecture page's Source-of-truth map is the single owner of the full topic → owner-doc mapping (solver, API, extension, compute, differentiable, clean-break, north-star). The docs an agent most often needs inline:

Topic Document
Solver abstraction, domain assignment, coupling, schedule docs/design/simulation_solver_architecture.md
Verified findings, standing rule, competitor lessons docs/design/dart7_architecture_assessment.md
Public C++ / dartpy API shape and promotion rules docs/design/simulation_cpp_api.md, docs/design/simulation_python_api.md
CPU / SIMD / GPU decision framework docs/design/scalable_compute_decisions.md
DART 7 vs DART 6 topology · live progress / parity gates docs/design/dart7_clean_break_strategy.md, docs/plans/dashboard.md

Public-facade rules (do not violate)

  • Do not expose Solver, Coupler, PhysicsDomain, ECS storage, component types, executor/backend types, or solver registries as public API.
  • Select behavior by documented method-family names and policy value objects.
  • Backend names (CUDA, Taskflow, SIMD ISA) may appear in build flags, diagnostics, and benchmarks — never in public types, namespaces, or required configuration.
  • Keep the easy path (World + addRigidBody/addMultibody + step) free of solver vocabulary.
  • Fallbacks must never silently substitute algorithms: validate capabilities at finalize or record the substitution in diagnostics.

Verification

Docs-only edits use the docs-only gate set in docs/ai/verification.md (pixi run lint, pixi run check-docs-policy, pixi run docs-build when the Read the Docs site changes). Implementation work that realizes parts of this architecture follows the gates in docs/design/simulation_solver_architecture.md and the packet gates in docs/plans/091-architecture-hardening.md.

Install via CLI
npx skills add https://github.com/dartsim/dart --skill dart-architecture
Repository Details
star Stars 1,109
call_split Forks 301
navigation Branch main
article Path SKILL.md
More from Creator