← Back to all sparks
C

c3dr

ANALYTICS
Velocity0.0

Read and write C3D motion capture data in R. Contribute to ropensci/c3dr development by creating an account on GitHub.

A biomechanics C3D reader graduated through rOpenSci review to CRAN, then learned to write force plates.

biomechanicsmotion-captureropenscir-packagefile-iocran
Current state
c3dr reads and writes C3D motion-capture files in R, wrapping the EZC3D library. It cleared rOpenSci peer review and moved into the rOpenSci organisation in April 2025, reached CRAN a month later, and shipped force-platform export in c3d_write() in August. Releases are close together and each one has a clear single purpose.
Where it's heading
The package is filling in the write side of the read/write pair. Reading was in place from the start; 0.2.0 extends c3d_write() to force-platform data on a direct user request, and the accompanying work preserves matrix structure on import and tracks upstream EZC3D changes. The review-era releases hardened validation and error messages, so the current cycle can be spent on capability rather than polish.
Prediction
Expect further coverage of C3D block types in the writer and continued tracking of EZC3D releases; the changelog gives no signal of analysis features beyond file I/O.

Recent moves

  1. 11mo ago

    c3d_write() gains force platform export

    Force platform data can now be written out, not just read, closing a gap a user had asked for and tested. Imported parameters also keep their matrix structure, and the package tracks the latest EZC3D changes.

    View source ↗
  2. 1y ago

    gcc 15 compilation fix

    A single compilation fix for gcc 15. Toolchain maintenance on the C++ layer, invisible to anyone whose build already worked.

    View source ↗
  3. 1y ago

    First CRAN release

    The package lands on CRAN with minor submission fixes, a month after the rOpenSci transfer. Distribution, rather than code, is what changed here.

    View source ↗
  4. 1y ago

    rOpenSci review lands; repo moves to rOpenSci

    Peer review brings input validation across all functions, better error messages, a format.c3d() method and a fixed silent failure in c3d_write() when the target directory was missing. The repository transfer to rOpenSci is what set up the CRAN release that followed.

    View source ↗