Repository navigation
The first release of the 0.2 line: the library-readiness refactor developed on the v2 branch.
Upgrading from 0.1: read the migration guide. It is organised by impact, with the changes that raise no error listed first. Pin @v0.2.0:
uv add "git+https://github.com/AntoineRichard/TrackGen.git@v0.2.0"Highlights
- CUDA graphs: every generation,
Coursecall and utility can be recorded into your own CUDA graph (WarpScopedCapture,torch.cuda.graph), with explicit streams, masked in-graph regeneration and auto-reset. - Plugins: one registry with entry points, a public
track_gen.ops, theStageprotocol with static and dynamicParams, and thetrack_gen.testingconformance kit. - Pipeline: a pluggable track and gate pipeline: generators, relax, width, elevation, validity, ordering, stations, iterative (bounded) stages and host stages. Any track generator can produce gates.
- Channels and curricula: per-point channels, variable width and
Track.attributes. Per-env dynamic knobs, size, corner count and gate width can be randomized in the graph for curricula, and external centerlines can be ingested. Course: a composition root over components. Invalid envs now return sentinels, so gate onStepResult.valid. Checkpoint capacities are a static bound.- SDF collision: the box query takes the exact minimum over the box outline.
- Requirements: Warp >= 1.18 (the PyPI wheels need driver R580+ and sm_75+).
The full list is in the CHANGELOG. 0.2 is followed by a breaking 1.0, now in development.