마이그레이션 가이드

이 페이지는 안정화 버전 간 소스 레벨 변경 사항을 정리해 예기치 않은 문제 없이 프로젝트를 마이그레이션할 수 있도록 돕습니다. 여기에는 공식 배포 버전에 대한 변경만 정리되어 있으며, 새로운 메이저 릴리스가 다가오면 그에 맞춰 내용을 확장할 예정입니다.

DART 6 → DART 7

컴포넌트 헤더 이름 변경

변경 사항: <component>.hppAll.hpp

// Before
#include <dart/dynamics/dynamics.hpp>
#include <dart/collision/collision.hpp>

// After
#include <dart/dynamics/All.hpp>
#include <dart/collision/All.hpp>

참고: 이전 헤더도 동작하지만 사용 중단 경고가 표시되며, 향후 메이저 릴리스에서 제거될 예정입니다.

**경고 억제**(마이그레이션 중 필요하다면):

#define DART_SUPPRESS_DEPRECATED_HEADER_WARNING
#include <dart/dynamics/dynamics.hpp>

헤더 이름: PascalCase → snake_case

변경 사항: PascalCase 헤더 → snake_case 헤더

// Before
#include <dart/dynamics/BodyNode.hpp>
#include <dart/collision/CollisionDetector.hpp>

// After
#include <dart/dynamics/body_node.hpp>
#include <dart/collision/collision_detector.hpp>

참고: PascalCase 헤더는 DART 7.x에서도 여전히 컴파일되지만 사용 중단 경고를 출력하며, 다음 메이저 릴리스에서 제거될 예정입니다.

**경고 억제**(마이그레이션 중 필요하다면):

#define DART_SUPPRESS_DEPRECATED_HEADER_WARNING
#include <dart/dynamics/BodyNode.hpp>  // No warning

Collision Detector Runtime

Change: the built-in DART collision detector is the normal runtime collision stack. Use the dart factory key, DartCollisionDetector, or the default detector instead of selecting FCL, Bullet, or ODE as runtime backends.

The C++ factory keys fcl, fcl_mesh, bullet, and ode and the C++ classes FCLCollisionDetector, BulletCollisionDetector, and OdeCollisionDetector remain as DART 7 migration facades for downstream source compatibility. These names route to the built-in DART detector; they do not select external runtime engines.

The dartpy API intentionally keeps the cleaner DART 7 surface. Python code should use dartpy.DartCollisionDetector or the default detector. The legacy dartpy detector aliases DARTCollisionDetector, FCLCollisionDetector, BulletCollisionDetector, and OdeCollisionDetector are not retained as compatibility shims.

FCL, Bullet, and ODE remain available only as explicit reference-comparison dependencies for tests and benchmarks. Enable those through the reference test/benchmark gates, normally via the collision-reference Pixi environment; normal core DART, dartpy, package, and downstream runtime builds do not use per-engine collision build switches.

다른 마이그레이션이 필요하신가요?

다른 업그레이드 경로에 대한 안내가 필요하다면 GitHub에 토론이나 이슈를 열어 주세요. 필요한 내용을 이 페이지에 추가하겠습니다.