RTX Remix Toolkit Contributor Guide#
Internal reference for contributors to RTX Remix Toolkit. Covers build setup, architecture, implementation patterns, code quality standards, and development tools.
Quick Start#
Prerequisites#
Windows 10 or 11
Git
GPU with RTX support
~50 GB free disk space
For full hardware and software requirements, see Technical Requirements.
Get the Source Code#
git clone https://github.com/NVIDIAGameWorks/toolkit-remix.git
cd toolkit-remix
Build the Project#
.\build.bat
The first build downloads all dependencies (Kit SDK, Python 3.10, tools) automatically via packman. Subsequent builds are incremental. See Tech Stack Overview for how the build pipeline works.
Run the App#
.\_build\windows-x86_64\release\lightspeed.app.trex_dev.bat
Developer mode — includes verbose logging and extension hot-reload. See Repo Tools → Run for all launch options and flags.
Format Your Code#
.\format_code.bat
Auto-formats all Python files with ruff (style + import sorting) and C++ files with clang-format. Run before every commit to avoid formatting-only diffs in review. See Repo Tools → Root Scripts for all available scripts.
Lint Your Code#
.\lint_code.bat all
Runs ruff checks with auto-fix. Catches common errors, unused imports, and style violations that formatting alone doesn’t cover. Both format and lint can be automated with pre-commit hooks — see Repo Tools → Root Scripts.
Run Tests#
.\_build\windows-x86_64\release\tests-<extension.name>.bat -n default
Runs user-written tests for a single extension. See Running Tests for filtering, coverage, and troubleshooting.
Build the Documentation#
.\build_docs.bat
Builds the Sphinx documentation locally. Output lands in _build/docs/. Useful for previewing doc changes before
submitting. See Repo Tools → Root Scripts for all available scripts.
Submit a Pull Request#
Before opening a PR, check every item in the Review Checklist: branch naming (
dev/<user>/<feature>), version bumps for modified extensions, changelog entries, and ≥75% test coverage on new code.
External Contributors#
Fork this repository, create a development branch, and submit a Pull Request against main. An automated bot will
prompt you to sign
the Contributor License Agreement
via your PR’s comment page.
Table of Contents#
Getting Started#
Page |
Description |
|---|---|
How repoman, packman, Kit SDK, premake, and Python fit together. The build pipeline from |
|
Branch naming, commit format, and merge request process. |
|
Test commands, filtering with |
|
Pre-submission checklist: action undoability, USD context compatibility, dependency management, docstrings, version bumping, and changelog updates. |
|
Kit SDK, USD, and Omniverse documentation and video tutorials. |
Architecture & Design#
Page |
Description |
|---|---|
USD contexts, extension lifecycle, design principles, event subscriptions, and system-level patterns (Commands, Factory/Plugin, Settings, Job Queue, Pip Archive). |
|
Extension naming, dependency direction, namespaces, directory layout, |
Code Quality Standards#
Page |
Description |
|---|---|
Python 3.10, max 120 chars, black + isort + ruff, naming conventions, no lazy imports, |
|
Fix root causes, never paper over. Anti-patterns table and smell tests for broken async, swallowed exceptions, and design problems. |
|
75% coverage requirement, plan-before-code, unit vs E2E, Arrange/Act/Assert, test naming, and anti-patterns. |
Implementation Patterns#
Page |
Description |
|---|---|
|
|
Undoable user actions with |
|
REST endpoints with |
|
The Stage Manager plugin system: 8 plugin types, schema config, and Flux/Lightspeed layering. |
|
Validation framework: 4 plugin types, execution flow, DataFlow, and mass validation. |
|
Third-party packages via |
Development Tools#
Page |
Description |
|---|---|
All root-level scripts: build, run, format, lint, build docs, pre-commit hooks, repo subcommands, and CLI launchers. |
|
Workspace setup, recommended extensions, tasks, debug config, and agent commands. |
|
Python path, run profiles, scope config, and external tools for format/lint. |
|
Attaching debuggers to Kit: debugpy (VSCode) and PyCharm Professional. The |
|
Performance profiling with Tracy: app-start and on-demand ( |