Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
777120b
Add DE441 support
lorrden Oct 11, 2026
783f438
Migrate tests to Swift-testing
lorrden Oct 11, 2026
41f7634
Bug fixes
lorrden Oct 11, 2026
70aba1b
More fixes
lorrden Oct 11, 2026
620342b
Bug fixes for fast nutations
lorrden Oct 11, 2026
6bdb701
Epoch and durations
lorrden Oct 11, 2026
35dcf25
Cartesian state type
lorrden Oct 11, 2026
14cc515
Work on frame support
lorrden Oct 11, 2026
65d09b7
Body fixed frames
lorrden Oct 11, 2026
5bf6098
IAU rotation bugs
lorrden Oct 11, 2026
357c331
Frame and rotation improvements
lorrden Oct 11, 2026
80e3ea9
Earth rotation model based on ERFA
lorrden Oct 11, 2026
699177e
UTC time support
lorrden Oct 11, 2026
b511c14
TDB tests
lorrden Oct 11, 2026
12ffc7f
UTC / Gregorian conversions
lorrden Oct 11, 2026
a47bf48
Coordinate handedness documentation
lorrden Oct 11, 2026
21f91c4
Module boundaries
lorrden Oct 11, 2026
3b6db0f
TDB models
lorrden Oct 11, 2026
0d43ee8
Measured Earth orientation
lorrden Oct 11, 2026
6b9b730
local orbital and spacecraft attitude frames
lorrden Oct 11, 2026
0ca4ed4
Body catalogue
lorrden Oct 11, 2026
1dc7a82
common ephemeris interface
lorrden Oct 11, 2026
f1dc9f3
Ephemeris providers
lorrden Oct 11, 2026
2f44397
Separated providers
lorrden Oct 11, 2026
86eb662
origin conversion
lorrden Oct 11, 2026
07a2895
Accuracy levels
lorrden Oct 11, 2026
cf04a3a
Characterize VSOP
lorrden Oct 11, 2026
dc9630e
Ephemeris batch and caching
lorrden Oct 11, 2026
6bc12da
Kepler equations
lorrden Oct 11, 2026
f3e0018
Cartesian <-> Orbital element conversion
lorrden Oct 11, 2026
1c73890
Special case orbits
lorrden Oct 11, 2026
5734f12
Two-body, impulse maneuvers, bounded sampling
lorrden Oct 12, 2026
d898c2e
License headers
lorrden Oct 12, 2026
8ca3856
DE441 improvements
lorrden Oct 12, 2026
c497032
Ignore DE441 files
lorrden Oct 12, 2026
3d918c7
DE441 improvements
lorrden Oct 12, 2026
3c33e3d
Fallback ephemeris
lorrden Oct 12, 2026
9c8678e
Finish DE441 support
lorrden Oct 12, 2026
16b0fab
Hohmann transfer planning support
lorrden Oct 12, 2026
1557862
Brachistochrone planner
lorrden Oct 12, 2026
a754bf7
Spacecraft dynamics
lorrden Oct 12, 2026
1df0f68
J2 gravity
lorrden Oct 12, 2026
d271f13
Event detection
lorrden Oct 12, 2026
b41fb4d
Fuel depletion
lorrden Oct 12, 2026
c1259a2
Event driven propagation
lorrden Oct 12, 2026
2d94e3a
variable-flow fuel depletion
lorrden Oct 12, 2026
eed418c
integration in moving and rotating frames
lorrden Oct 12, 2026
d2c9655
Waypoint brachistochone
lorrden Oct 12, 2026
3612d66
Improve waypoint system with temporal and spatial rules
lorrden Oct 12, 2026
f8bcb54
waypoint arrival epochs and inclusive arrival windows
lorrden Oct 12, 2026
474b3fc
Route planning improvements
lorrden Oct 12, 2026
6df116e
adaptive timing feasibility
lorrden Oct 12, 2026
2870194
local timing optimization
lorrden Oct 12, 2026
9a67373
explicit nonzero departure, arrival and intermediate passage velocities.
lorrden Oct 12, 2026
11bcd1b
moving-target rendezvous endpoints
lorrden Oct 12, 2026
12adcf9
moving intermediate waypoints across search, refinement and optimization
lorrden Oct 12, 2026
a43d044
moving spherical obstacle clearance to routes and all timing planners
lorrden Oct 12, 2026
b4bb8d5
Waypoint and planning improvements
lorrden Oct 12, 2026
a5290f3
Spacecraft maneuvering
lorrden Oct 13, 2026
8b7f88c
finite-burn initial guesses and bounded refinement of burn timing
lorrden Oct 13, 2026
f0abbc9
Lambert solvers
lorrden Oct 13, 2026
64a14a2
bounded Lambert transfer-window searches
lorrden Oct 13, 2026
c9a2d63
gravity-assist encounter
lorrden Oct 13, 2026
1abe595
Encounter sequences and numerical refinement
lorrden Oct 13, 2026
e521dc1
Attitude dynamics
lorrden Oct 13, 2026
710c6c4
Initial work on SPICE kernel loading
lorrden Oct 13, 2026
5330c71
SPICE improvements
lorrden Oct 13, 2026
1321323
SPICE testing
lorrden Oct 13, 2026
dc2bbcc
Update documentation
lorrden Oct 13, 2026
5ef8adc
Voyager II example
lorrden Oct 13, 2026
2cb47a2
Work on game integration code
lorrden Oct 13, 2026
a0469ec
Cache invalidation
lorrden Oct 13, 2026
3b20f79
Performance and thread safety
lorrden Oct 13, 2026
1b42945
More documentation
lorrden Oct 13, 2026
4d6eb41
Serialization
lorrden Oct 13, 2026
1ac06fe
MPC culling experiment
lorrden Oct 13, 2026
d8a1207
SPK21 support and POIs
lorrden Oct 13, 2026
3391289
Atmospheric and magnetic models
lorrden Oct 14, 2026
97e4ee2
Documentation cleanup
lorrden Oct 14, 2026
5c9593a
Fix interpolation bug in airfoil code
lorrden Oct 14, 2026
5434888
Aerodynamic foundations
lorrden Oct 14, 2026
8e859d5
Segmented-wing and whole-body evaluators:
lorrden Oct 14, 2026
d0f7fbf
Bounded finite-wing model
lorrden Oct 14, 2026
85f9ab1
Wind rotation in rotating reference frames
lorrden Oct 14, 2026
18262b1
AerodynamicWrench
lorrden Oct 14, 2026
c718250
Newtonian surface-pressure model
lorrden Oct 14, 2026
48b9034
Aerothermal heating work
lorrden Oct 14, 2026
ac4e976
parachute drag and balloon buoyancy/drag
lorrden Oct 14, 2026
211ff62
pluggable body-rate aerodynamic damping
lorrden Oct 14, 2026
7760e73
control-deflection interpolation for wing and tail segments
lorrden Oct 14, 2026
f9be10e
pluggable free-molecular panel model
lorrden Oct 14, 2026
ad54f1f
Coupled spanwise lifting-line solver with circulation, downwash and l…
lorrden Oct 15, 2026
ed54524
Pluggable local surface convection
lorrden Oct 15, 2026
176563f
Remove swiftpm junk
lorrden Oct 15, 2026
6e83afb
More aerodynamics
lorrden Oct 15, 2026
33b235d
CFD and propwash models
lorrden Oct 15, 2026
1c8048e
Compressible CFD, hydrodynamics
lorrden Oct 15, 2026
2cbab6e
License headers
lorrden Oct 15, 2026
418db36
Swift 64 update, CI fixes, and more
lorrden Oct 15, 2026
ee9bbc3
Reorganize the BSD-3 licensed ERFA code
lorrden Oct 15, 2026
3672b8c
Try to get more build errors in windows/linux
lorrden Oct 15, 2026
765b1ba
Explicit typing
lorrden Oct 15, 2026
6462689
Fix fputs issue
lorrden Oct 15, 2026
df2d552
More work to get Linux and Windows build done
lorrden Oct 15, 2026
6359588
Fix concurrency primitives
lorrden Oct 15, 2026
671ca06
Try to fix failing windows test
lorrden Oct 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
93 changes: 68 additions & 25 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,75 @@ name: Swift

on:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ main ]
branches: [main]

permissions:
contents: read

jobs:
macos:
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Swift
uses: swift-actions/setup-swift@v1
- name: Build
run: swift build -v
- name: Run tests
run: swift test -v
linux:
runs-on: ubuntu-latest
container:
image: swift:5.9
build-and-test:
name: Swift 6.4 on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: macos-latest
build-system: swiftbuild
# Use the previous backend while investigating opaque Linux/Windows failures.
- os: ubuntu-24.04
build-system: native
- os: windows-latest
build-system: native
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Swift
uses: swift-actions/setup-swift@v1
- name: Build
run: swift build -v
- name: Run tests
run: swift test -v
- name: Checkout
uses: actions/checkout@v6
- name: Set up Swift 6.4
if: runner.os != 'Windows'
uses: swift-actions/setup-swift@v3
with:
swift-version: "6.4"
- name: Set up Swift 6.4 on Windows
if: runner.os == 'Windows'
uses: SwiftyLab/setup-swift@v1.14.0
with:
swift-version: "6.4"
- name: Show Swift version
run: swift --version
- name: Build
shell: bash
run: |
set -o pipefail
status=0
swift build --build-system "${{ matrix.build-system }}" --very-verbose --no-color-diagnostics 2>&1 | tee swift-build.log || status=$?
if [ "$status" -ne 0 ]; then
echo "::group::Swift build error summary"
grep -n -m 30 -E '(fatal )?error:|[Ss]ignal [0-9]+|[Kk]illed|[Cc]rash' swift-build.log || true
echo "::endgroup::"
fi
exit "$status"
- name: Run tests
shell: bash
run: |
set -o pipefail
status=0
swift test --build-system "${{ matrix.build-system }}" --very-verbose --no-color-diagnostics 2>&1 | tee swift-test.log || status=$?
if [ "$status" -ne 0 ]; then
echo "::group::Swift test error summary"
grep -n -m 30 -E '(fatal )?error:|[Ss]ignal [0-9]+|[Kk]illed|[Cc]rash' swift-test.log || true
echo "::endgroup::"
fi
exit "$status"
- name: Upload failure diagnostics
if: failure()
uses: actions/upload-artifact@v4
with:
name: swift-diagnostics-${{ runner.os }}
retention-days: 7
include-hidden-files: true
path: |
swift-build.log
swift-test.log
.build/**/*.dia
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@
/Packages
/*.xcodeproj
xcuserdata/

# Optional local JPL exports; never package multi-gigabyte ephemerides.
/Data/DE441/

# Reproducible JPL extraction caches and optional local kernel collections.
/Data/JPL/cache/
/Data/JPL/SPK/
/Tools/SmallBodies/__pycache__/
7 changes: 0 additions & 7 deletions .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

This file was deleted.

Loading
Loading