astro-group-bristol / Gradus.jl

Extensible spacetime agnostic general relativistic ray-tracing (GRRT).
https://astro-group-bristol.github.io/Gradus.jl/dev/
GNU General Public License v3.0
18 stars 2 forks source link

Feat!: trace configuration for an homogenous API #97

Closed fjebaker closed 1 year ago

fjebaker commented 1 year ago

Instead of having to do mental gymnastics figuring out the call stack and argument passing for all the different bootstrapped methods (and maintain different *geodesics verbs), the code now uses a TracingConfiguration struct. This keeps track and inserts default values for all the different parameter combinations so that the implementation for the tracing methods just access fields, safe in the knowledge that they have been preconditioned and validated.

This has simplified many parts of the code base, without any overhead, and paves the way a little closer towards the radiative transfer implementation being added.

codecov-commenter commented 1 year ago

Codecov Report

Merging #97 (7180e78) into main (2e2ef40) will decrease coverage by 0.36%. The diff coverage is 63.69%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main      #97      +/-   ##
==========================================
- Coverage   70.17%   69.81%   -0.36%     
==========================================
  Files          49       51       +2     
  Lines        1794     1819      +25     
==========================================
+ Hits         1259     1270      +11     
- Misses        535      549      +14     
Impacted Files Coverage Δ
src/GradusBase/geodesic-solutions.jl 52.50% <ø> (ø)
src/GradusBase/physical-quantities.jl 0.00% <0.00%> (ø)
src/accretion-geometry/discs.jl 87.80% <ø> (ø)
src/corona-to-disc/flux-calculations.jl 0.00% <ø> (ø)
src/corona-to-disc/sky-geometry.jl 91.89% <ø> (ø)
src/line-profiles.jl 81.81% <ø> (ø)
src/point-functions.jl 52.38% <ø> (ø)
src/rendering/cache.jl 0.00% <ø> (ø)
src/rendering/utility.jl 55.55% <0.00%> (ø)
src/special-radii.jl 72.72% <0.00%> (ø)
... and 25 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.