Skip to content

Update docs on Articulations#623

Merged
eric-heiden merged 2 commits into
newton-physics:mainfrom
eric-heiden:update-articulations-docs
Aug 22, 2025
Merged

Update docs on Articulations#623
eric-heiden merged 2 commits into
newton-physics:mainfrom
eric-heiden:update-articulations-docs

Conversation

@eric-heiden

@eric-heiden eric-heiden commented Aug 22, 2025

Copy link
Copy Markdown
Member

Description

Remove unsupported joint types from articulations doc

Newton Migration Guide

Please ensure the migration guide for warp.sim users is up-to-date with the changes made in this MR.

  • The migration guide in docs/migration.rst is up-to date

Before your PR is "Ready for review"

  • All commits are signed-off to indicate that your contribution adheres to the Developer Certificate of Origin requirements
  • Necessary tests have been added and new examples are tested (see newton/tests/test_examples.py)
  • Documentation is up-to-date
  • Code passes formatting and linting checks with pre-commit run -a

Summary by CodeRabbit

  • Documentation
    • Updated Joint types documentation to remove JOINT_COMPOUND and JOINT_UNIVERSAL entries from the table, along with their respective DOF information.
    • Revised D6 joint narrative: removed “compound” from the list of special cases; “universal,” “prismatic,” “revolute,” and “planar” remain.
    • Improves clarity and consistency of joint coverage for readers without affecting any public APIs or runtime behavior.

Signed-off-by: Eric Heiden <eric-heiden@outlook.com>
@eric-heiden eric-heiden requested a review from shi-eric August 22, 2025 18:17
@coderabbitai

coderabbitai Bot commented Aug 22, 2025

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

Removed JOINT_COMPOUND and JOINT_UNIVERSAL from the joint types table in docs and adjusted the D6 joint description to no longer list "compound" as a special case; "universal" remains referenced in the D6 list. No code or API changes.

Changes

Cohort / File(s) Summary of changes
Docs: Articulations
docs/concepts/articulations.rst
Deleted JOINT_COMPOUND and JOINT_UNIVERSAL rows (and their DOF values) from the Joint types table. Updated narrative to remove "compound" from D6 special cases; retained references to prismatic, revolute, planar, and universal. No other edits.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested reviewers

  • shi-eric
  • mmacklin

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/concepts/articulations.rst (1)

16-56: Add explicit mapping for compound/universal joints to D6 in the migration guide

Confirmed no remaining enum references to JointType.COMPOUND or JointType.UNIVERSAL in code or docs. However, two documentation updates are required:

  • docs/concepts/articulations.rst (line 58) still says
    “Prismatic, revolute, planar, and universal joints can be seen as special cases of the D6 joint.”
    While conceptually correct, this may confuse readers now that the universal joint enum is removed. Consider either updating this sentence to describe how a “universal joint” maps onto a D6 configuration or removing it altogether.

  • docs/migration.rst (around line 149) currently reads:

    The universal and compound joints have been removed in favor of the more general D6 joint.
    

    It does not explain how existing warp.sim compound/universal joints should be configured using the new D6 API. Please add a “Mapping warp.sim compound/universal → Newton D6” section, for example:

    + .. rubric:: Mapping warp.sim “compound”/“universal” joints to Newton D6
    +
    + .. csv-table::
    +   :header: “warp.sim joint”, “D6 translational DOFs”, “D6 rotational DOFs”
    +
    +   “compound”/“universal”, 0–2 (e.g. X/Y), 2 (rotation about two axes)
    +   “universal” only, 0, 2
    +   “compound” only, 2, 0
    +
    + You can use:
    +
    + .. code-block:: python
    +
    +   builder.add_joint_d6(
    +       parent, child,
    +       x_motion=...,
    +       y_motion=...,
    +       z_motion=LOCKED,
    +       x_limit=(−∞, ∞),
    +       y_limit=(−∞, ∞),
    +       z_limit=(0, 0),
    +       twist1_limit=(−∞, ∞),
    +       twist2_limit=(−∞, ∞),
    +       twist3_limit=(0, 0),
    +   )

Let me know if you’d like me to draft the exact wording and examples for migration.rst.

🧹 Nitpick comments (1)
docs/concepts/articulations.rst (1)

58-58: Clarify that “universal” is a D6 configuration, not a first-class JointType (after table changes).

To prevent readers from inferring a JointType.UNIVERSAL, spell it out inline.

Apply this minimal edit:

-Prismatic, revolute, planar, and universal joints can be seen as special cases of the D6 joint.
+Prismatic, revolute, planar, and universal joints (as D6 configurations) can be seen as special cases of the D6 joint.
📜 Review details

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between a2163ff and 9739cd6.

📒 Files selected for processing (1)
  • docs/concepts/articulations.rst (1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: shi-eric
PR: newton-physics/newton#521
File: newton/examples/example_cloth_hanging.py:36-36
Timestamp: 2025-08-12T05:17:34.423Z
Learning: The Newton migration guide (docs/migration.rst) is specifically for documenting how to migrate existing warp.sim functionality to Newton equivalents. New Newton-only features that didn't exist in warp.sim do not need migration documentation.
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Run GPU Benchmarks (Pull Request)
  • GitHub Check: run-newton-tests / newton-unittests (ubuntu-latest)
  • GitHub Check: run-newton-tests / newton-unittests (windows-latest)

@eric-heiden eric-heiden removed the request for review from shi-eric August 22, 2025 20:05
@eric-heiden eric-heiden enabled auto-merge (squash) August 22, 2025 20:05
@eric-heiden eric-heiden disabled auto-merge August 22, 2025 20:05
@eric-heiden eric-heiden merged commit 7199cec into newton-physics:main Aug 22, 2025
9 of 10 checks passed
@codecov

codecov Bot commented Aug 22, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

eric-heiden added a commit to eric-heiden/newton that referenced this pull request Jan 28, 2026
Signed-off-by: Eric Heiden <eric-heiden@outlook.com>
@coderabbitai coderabbitai Bot mentioned this pull request Mar 27, 2026
3 tasks
mmacklin pushed a commit to mmacklin/newton that referenced this pull request Apr 7, 2026
Signed-off-by: Eric Heiden <eric-heiden@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant