| NTrackFlowPro | |
| NRuntime | |
| NCore | |
| NCurves | |
| CTrackFlowProfilerMarkers | Profiler markers for use in profiling |
| CTrackFlowSpline | This is a wrapper that treats an IArcLengthCurve as a Unity Spline. Here we mimic all of the functionality of Unity Splines but using the ArcFrame IArcLengthCurve on the backend. We do this so that we can leverage ArcFrame tools such as curvature continuity, native bishop frame integration, curve constraint solving methods, and more |
| CMutatorEntry | |
| CMutatorEntryComparer | |
| CTubeOptions | |
| CRoadOptions | |
| CUTrackOptions | |
| CTrackFlowSample | |
| NFrames | |
| CSplineDefaults | Per-spline defaults; expand as needed (design speed, g, etc.) |
| CSegmentContext | Per-segment context passed to modifiers and roll laws |
| CIFrameModifier | Mutates frames in the polyline (in-place) |
| CIRollLaw | Returns a roll angle θ(s) in radians, s∈[0,L] |
| CFramePipeline | Runs a series of modifiers on a polyline's frames |
| CRollRateLimiterModifier | Limits the change in roll (rotation about the tangent) between successive samples. The limit is expressed in degrees per meter and scaled by the sample arc-length delta |
| CRMFSmoother | Builds a rotation-minimizing (Bishop) frame along the segment, starting from the first sample's frame. Use this as an early modifier to wipe out internal frame discontinuities coming from the ArcFrame geometry |
| CStartUpAlignModifier | Per-segment "start-up" alignment: rotate N/B about T so the segment start B aligns to the chosen up (WorldUp or KnotB). Track-level overload applies this per segment using ctx.knotSampleIndex |
| CRollProfileModifier | |
| CFrameCleanupModifier | Final orthonormalization and degeneracy guards |
| CJointEndToStartBlendModifier | On a single concatenated polyline, for each joint k→k+1, slerp the final tail of segment k toward the START frame at knot k+1 |
| CITrackFrameModifier | Track-level frame modifier; operates across segment boundaries |
| CTrackContext | Whole-track context (segments, knots, defaults, etc.) |
| CSegmentSpan | |
| CPostDeformFramePipeline | |
| CHints | |
| COptions | |
| NKernels | |
| CFrameJobs | — WIP — Burst version of the track modifier jobs. — WIP — |
| CFrameCleanupJob | Burst job that normalizes T, re-orthonormalizes N and B, and repairs degenerate tangents using neighbour positions |
| CStartUpAlignJob | Rotate all N/B axes around T by a constant angle theta. Frames are row-major: [T.x, N.x, B.x, T.y, N.y, B.y, T.z, N.z, B.z] |
| CRollProfileJob | Rotate all N/B axis around T by a scaled angle along the arc length. Frames are row-major |
| CRollRateLimiterJob | Limits the roll rate by a degree per meter value |
| CJointEndToStartBlendJob | Blend the end of each segment towards the start of the next segment by a set of precomputed weights |
| CRMFSmootherJob | Build a bishop/RMF frame out of the potentially messy frame data |
| CFramePipelineBurst | |
| CFrameCleanupBurstModifier | Burst frame modifier that runs FrameCleanupJob over the polyline |
| CStartUpAlignBurstModifier | Burst frame modifier that aligns the initial B axis toward a target "up" by rotating all frames around T by a single constant angle |
| CRMFSmootherBurstModifier | |
| CRollProfileBurstModifier | |
| CRollRateLimiterBurstModifier | |
| CJointEndToStartBlendBurstModifier | |
| CIBurstFrameModifier | |
| CKernelHelpers | |
| CBurstPolyline | Converts a polyline to an object that can be computed using burst |
| CPolylineBuildArcLengthSamplesJob | Rebuilds global arclength samples S[i] from flattened positions P. S[0] = 0, S[i] = sum_{k<=i} |P[k] - P[k-1]| |
| CPolylineBuildCurvatureSamplesJob | Computes curvature and torsion per sample using a central finite difference, writing into Curvatures as [k0, tau0, k1, tau1, ...] |
| CPolylineBurstUtils | |
| CBurstCurveSample3d | A curve sample from a curve evaluation burst job |
| CBurstSpline3d | Burst 3d spline, the Unity version of ArcFrame.Core.Kernels.Spline3dRaw that can run the spline evaluator with burst jobs |
| CBurstSpline3dExtensions | |
| CSampleSplineJob | |
| CSampleSplineJob2 | |
| NMeshing | |
| CColdWheelsRoadMeshBuilder | |
| CCrossSectionProfile2D | |
| CCrossSectionProfile2DAsset | Reusable 2D cross-section profile asset. Useful for building a profile "library" that can be shared across multiple spawners |
| CCustomProfileMeshBuilder | Mesh builder that extrudes an arbitrary 2D cross section along the sampled spline polyline |
| CICrossSectionProfile2D | |
| CPipeMeshBuilder | |
| CPolylineExtruder | |
| COptions | |
| CRingInfo | |
| CShellSpec | |
| CResult | |
| CRoadMeshBuilder | |
| CForceComputeSettings | |
| CCurvatureSampleData | |
| CCurvaturePreviewUtil2 | |
| CForcePreviewSettings | |
| CITrackMeshBuilder | |
| CMeshingUtils | |
| CMeshUvSettings | |
| CSpawnJitter | Randomized offsets along the curve |
| CTrackFlowSpawner | Instantiate a mesh along the TrackFlowSpline. This is for discrete mesh pieces. If you want a pipe or road those are built into the Mesh settings within TrackFlowSpline |
| CCustomProfileOptions | |
| CSpawnPlacement | |
| NSampling | |
| CChordErrorSampler | Adaptive sampler that bounds chord error using curvature magnitude. Uses κ_norm ≈ |k| = sqrt(k1^2 + k2^2 + ...) |
| CPolyline | |
| CChordErrorSamplingParams | |
| CTrackFlowCoaster | Simple coaster-like cart constrained to a TrackFlowSpline. Uses 1D physics along arc length: s(t), v(t) |
| CTrackFlowGravity | Apply gravity to a TrackFlowSpline |
| CTravelerOffset | An individual traveler being used by the TrackFlowTraveler |
| CTrackFlowTraveler | Travel a game object along a TrackFlowSpline |
| CArcFrameBridge | Convert native ArcFrame types to native TrackFlow types. There is almost no functional difference between this class and Helpers, I got too deep and don't want to combine them and fix all the references. They both have different methods, and Helpers is geared more towards math utilities |
| CHelpers | Some math helpers. This also has some conversions between native system types and Unity types |
| CTrackFlowGeneratedMarker | |
| CTrackFlowSpawnAnchor | Marker used to align a specific point on a prefab to the spline pose. this goes on a SpawnAnchor transform |
| CTrackFlowSpawnAnchorCache | Caches anchor pose relative to the instance root so we don't recompute every rebuild |
| CCurvatureFunctionAsset | Subclass this in your project to supply a curvature law as an arbitrary function. Return at least two entries: [kappa, torsion, ...] |
| CArcOptions | |
| CClothoidOptions | |
| CBezierOptions | |
| CBSplineOptions | |
| CCatmullRomOptions | |
| CHermiteOptions | |
| CCustomSplineOptions | |
| CSplineOptions | |
| CConstantLawParams | |
| CLinearLawParams | |
| CCurveSpecOptions | |
| CTrackModifierOptions | Options for the default track modifiers |
| CTrackFlowKnot | A single knot in your TrackFlow spline editor. "Curve Type" governs the segment between this knot and the next knot |
| NEditor | |
| CReadme | A generic readme for TrackFlowPro sample scenes |
| CSection | |
| CReadmeEditor | Custom editor for Readme |
| CSerializeReferenceListField | Generic [SerializeReference] list UI for polymorphic managed objects |
| CTrackFlowBezierHandleEditorUtil | A helper class to arrange and align the spline bezier handles in various ways. Enable in the menu Tools > TrackFlow > Sync Bezier Handles To Tangent On Frame Edit |
| CTrackFlowEditorSelection | Editor-only selection state for TrackFlowSpline elements |
| CTrackFlowHoverProbe | Editor toolbar tool to provide quick information upon hovering the mouse over a selected TrackFlowSpline. If curvature data is cached we also display that |
| CTrackFlowHoverProbeToggle | SceneView overlay toolbar toggle that activates TrackFlowHoverProbe |
| CTrackFlowKnotDrawer | The property drawer for TrackFlowKnot |
| CTrackFlowMeshPrefabExporter | Export prefabs generated by the Runtime.Core.Meshing.TrackFlowSpawner. This can be triggered with a button in the mesh menu of the spawner object |
| CTrackFlowPlaceKnotTool | An editor tool that can place knots in the world similar to the default Unity Spline, but it can also snap to TrackFlowKnot, or positions along any sampled TrackFlowSpline. You can use this tool to insert knots in an existing spline |
| CDragState | |
| CHoverCache | |
| CTrackFlowPlaceKnotsToggle | SceneView overlay toolbar toggle that activates TrackFlowPlaceKnotTool |
| CTrackFlowToolsToolbarOverlay | |
| CTrackFlowProPrefabSpawner | This is a class that will create menu items to spawn preconfigured curves. If you want a curve that can be spawned by right clicking the hierarchy, add it here |
| CTrackFlowScreenPickUtil | Shared, lightweight SceneView picking helpers for TrackFlowSpline polylines. Screen-space nearest-sample selection. Quiet failure if polylines are not available |
| CSnapResult | |
| CTrackFlowSpawnerEditor | Custom editor for TrackFlowSpawner |
| CBounds2D | |
| CTrackFlowSplineEditor | Custom editor for the TrackFlowSpline object, the goal here is for this to work similarly to the spline editor, where you can edit the track properties in the inspector as well as using handles in the scene view |
| CTrackFlowSplineOverlay | Scene overlay: lightweight TrackFlowSpline readouts + selected knot quick edit |
| CIPolylineMutator | |