Skip to content

M152: Add support anchor spacing V1#181

Merged
Coasterpete merged 1 commit into
mainfrom
milestone-152-support-anchor-spacing-v1
Jun 27, 2026
Merged

M152: Add support anchor spacing V1#181
Coasterpete merged 1 commit into
mainfrom
milestone-152-support-anchor-spacing-v1

Conversation

@Coasterpete

Copy link
Copy Markdown
Owner

Summary

Implements Milestone 152: Support Anchor Spacing V1.

This milestone adds a backend-only support anchor spacing system to Quantum.Track that generates canonical station-distance support anchor candidates. It is intended as the first layer of a future procedural support pipeline and deliberately avoids renderer, terrain, or mesh dependencies.

Features

  • Adds a SupportAnchorSpacingGenerator for deterministic anchor candidate generation.

  • Supports:

    • Start distance
    • End distance
    • Target spacing
    • Optional start offset
    • Excluded distance ranges
  • Produces:

    • Anchor candidate distances
    • Actual spacing intervals
    • Start/end remainder information
    • Non-fatal warnings for invalid inputs, excluded candidates/gaps, and uneven end remainders
  • Includes focused unit tests covering:

    • Exact spacing
    • Offset spacing
    • End remainder behavior
    • Excluded ranges
    • Invalid inputs
    • Deterministic output
  • Adds documentation for Support Anchor Spacing V1.

Non-Goals

This milestone intentionally does not:

  • Snap anchors to terrain
  • Generate support geometry
  • Select support prefabs
  • Create meshes
  • Introduce Unity or renderer dependencies
  • Modify TrackEvaluator

Those capabilities will be implemented in future milestones on top of this backend foundation.

Validation

dotnet test QuantumCoasterWorks.sln --nologo

Results

  • Passed: 1729
  • Failed: 0
  • Skipped: 0

Future Work

Future milestones can build on this foundation by adding:

  • Terrain snapping
  • Support placement visualization
  • Procedural support generation
  • Support mesh generation
  • Editor integration for live support previews

@Coasterpete Coasterpete force-pushed the milestone-152-support-anchor-spacing-v1 branch from 91aab73 to 0f741a8 Compare June 27, 2026 23:08
@Coasterpete Coasterpete merged commit 65b204c into main Jun 27, 2026
1 check passed
@Coasterpete Coasterpete deleted the milestone-152-support-anchor-spacing-v1 branch June 27, 2026 23:09
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