Relativity-Simulator

Project Structure

Relativity-Simulator/
├── .github/
│   └── worlflows/
│       └── ci.yml
│   
│
├── apps/
│   ├── engine_cli/
│   │   └── main.cpp
│   │
│   └── headless_exporter/
│       └── main.cpp
│   
│
├── assets/
│   ├── earth/
│   │   └── solarsystemscope/
│   │       ├── 1k_earth_daymap.png
│   │       ├── 1k_earth_nightmap.png
│   │       ├── 2k_earth_daymap.png
│   │       ├── 2k_earth_nightmap.png
│   │       └── LICENCE.txt
│   │   
│   │
│   ├── media/
│   │   ├── interface_preview.png
│   │   ├── schwarzschild_infall.gif
│   │   ├── schwarzschild_orbit_passby.gif
│   │   └── schwarzschild_preview.png
│   │
│   └── sky/
│       ├── ambientcg/
│       │   ├── NightSkyHDRI001_1K/
│       │   │   └── NightSkyHDRI001_1K_TONEMAPPED.jpg
│       │   │
│       │   ├── NightSkyHDRI001_2K/
│       │   │   └── NightSkyHDRI001_2K_TONEMAPPED.jpg
│       │   │
│       │   ├── NightSkyHDRI001_4K/
│       │   │   └── NightSkyHDRI001_4K_TONEMAPPED.jpg
│       │   │
│       │   ├── NightSkyHDRI008_1K/
│       │   │   └── NightSkyHDRI008_1K_TONEMAPPED.jpg
│       │   │
│       │   ├── NightSkyHDRI008_2K/
│       │   │   └── NightSkyHDRI008_2K_TONEMAPPED.jpg
│       │   │
│       │   ├── NightSkyHDRI008_4K/
│       │   │   └── NightSkyHDRI008_4K_TONEMAPPED.jpg
│       │   │
│       │   └── LICENCE.txt
│       │
│       └── eso/
│           ├── eso0932a.tif
│           └── LICENCE.txt
│       
│   
│
├── docs/
│   ├── ARCHITECTURE.md
│   ├── CLI_REFERENCE.md
│   ├── DESCRIPTION.md
│   ├── FILE_FORMATS.md
│   ├── INDEX.md
│   ├── MATHEMATICAL_FORMULATION.md
│   ├── TECHNICAL_MANUAL.md
│   └── TREE.md
│
├── include/
│   └── relativistic/
│       ├── capture/
│       │   ├── camera_path.hpp
│       │   ├── capture_coordinator.hpp
│       │   ├── capture_post_process.hpp
│       │   ├── capture_progress.hpp
│       │   ├── easing.hpp
│       │   ├── expression.hpp
│       │   ├── motion_script.hpp
│       │   ├── motion_script_file.hpp
│       │   ├── path_preview.hpp
│       │   ├── path_preview_builder.hpp
│       │   ├── physics_recorder.hpp
│       │   └── script_events.hpp
│       │
│       ├── core/
│       │   ├── math/
│       │   │   ├── christoffel.hpp
│       │   │   ├── four_vector_bundle.hpp
│       │   │   ├── geodesic_bundle.hpp
│       │   │   ├── riemann.hpp
│       │   │   ├── tensor.hpp
│       │   │   └── tensor_ops.hpp
│       │   │
│       │   ├── constants.hpp
│       │   ├── deterministic_replay.hpp
│       │   ├── engine_log.hpp
│       │   ├── engine_signature.hpp
│       │   ├── kerr_schild_null_integrator.hpp
│       │   ├── memory_arena.hpp
│       │   ├── pcg64.hpp
│       │   ├── physical_constants_engine.hpp
│       │   ├── schwarzschild_null_integrator.hpp
│       │   ├── sha256.hpp
│       │   ├── simd.hpp
│       │   ├── simd_math.hpp
│       │   ├── spherical_planar_null_integrator.hpp
│       │   ├── spsc_queue.hpp
│       │   ├── system_console.hpp
│       │   └── thread_pool.hpp
│       │
│       ├── dark_matter/
│       │   ├── barnes_hut.hpp
│       │   ├── dark_matter_field.hpp
│       │   ├── dark_matter_profiles.hpp
│       │   └── galaxy_model.hpp
│       │
│       ├── dynamics/
│       │   ├── pn/
│       │   │   ├── pn_acceleration.hpp
│       │   │   ├── pn_body.hpp
│       │   │   ├── pn_gravitational_waves.hpp
│       │   │   ├── pn_integrator.hpp
│       │   │   ├── pn_nbody_system.hpp
│       │   │   ├── pn_orders.hpp
│       │   │   └── pn_spin_precession.hpp
│       │   │
│       │   ├── body_surface_layers.hpp
│       │   ├── bulk_body_actions.hpp
│       │   ├── hulse_taylor_pulsar.hpp
│       │   ├── interaction_compatibility.hpp
│       │   ├── interaction_config.hpp
│       │   └── interaction_solver.hpp
│       │
│       ├── gravimetry/
│       │   ├── legendre_table.hpp
│       │   ├── orbital_precession.hpp
│       │   ├── spherical_harmonics.hpp
│       │   └── tidal_perturbations.hpp
│       │
│       ├── hydro/
│       │   ├── solvers/
│       │   │   ├── con2prim.hpp
│       │   │   ├── constrained_transport.hpp
│       │   │   ├── grhd_solver.hpp
│       │   │   ├── reconstruction.hpp
│       │   │   ├── riemann_solvers.hpp
│       │   │   └── tov_solver.hpp
│       │   │
│       │   ├── eos.hpp
│       │   ├── fishbone_moncrief.hpp
│       │   ├── hydro_types.hpp
│       │   └── novikov_thorne.hpp
│       │
│       ├── integrators/
│       │   ├── cash_karp.hpp
│       │   ├── geodesic_state.hpp
│       │   ├── hermite4_aarseth.hpp
│       │   ├── horizon_manager.hpp
│       │   ├── rk45_adaptive.hpp
│       │   ├── step_controller.hpp
│       │   ├── symplectic_gauss_legendre.hpp
│       │   └── vernier9.hpp
│       │
│       ├── interferometry/
│       │   ├── fits_table.hpp
│       │   ├── oifits_writer.hpp
│       │   ├── visibility_synthesis.hpp
│       │   └── vlbi_array.hpp
│       │
│       ├── io/
│       │   ├── capture/
│       │   │   ├── capture_settings_io.hpp
│       │   │   ├── capture_studio_settings.hpp
│       │   │   ├── capture_target_settings.hpp
│       │   │   ├── recording_settings.hpp
│       │   │   ├── screenshot_capture_settings.hpp
│       │   │   ├── screenshot_exporter.hpp
│       │   │   └── video_capture_settings.hpp
│       │   │
│       │   ├── image/
│       │   │   ├── image_codecs.hpp
│       │   │   ├── image_format.hpp
│       │   │   └── image_stream_writers.hpp
│       │   │
│       │   ├── scenario/
│       │   │   ├── scenario_locator.hpp
│       │   │   └── scenario_serializer.hpp
│       │   │
│       │   ├── ephemeris_types.hpp
│       │   ├── fits_exporter.hpp
│       │   ├── frame_transforms.hpp
│       │   ├── hdf5_serializer.hpp
│       │   ├── horizons_parser.hpp
│       │   ├── spk_reader.hpp
│       │   ├── telemetry_table.hpp
│       │   ├── user_settings.hpp
│       │   └── vtk_exporter.hpp
│       │
│       ├── magnetosphere/
│       │   └── blandford_znajek.hpp
│       │
│       ├── metrics/
│       │   ├── bssn/
│       │   │   ├── bssn_constraints.hpp
│       │   │   ├── bssn_evolution.hpp
│       │   │   ├── bssn_grid.hpp
│       │   │   ├── bssn_interpolation.hpp
│       │   │   └── bssn_metric.hpp
│       │   │
│       │   ├── alcubierre.hpp
│       │   ├── bardeen_shadow.hpp
│       │   ├── eddington_finkelstein.hpp
│       │   ├── flat_minkowski.hpp
│       │   ├── flrw.hpp
│       │   ├── horizon_regime.hpp
│       │   ├── kerr.hpp
│       │   ├── kerr_de_sitter.hpp
│       │   ├── kerr_invariants.hpp
│       │   ├── kerr_newman.hpp
│       │   ├── kerr_schild.hpp
│       │   ├── morris_thorne.hpp
│       │   ├── painleve_gullstrand.hpp
│       │   ├── reissner_nordstrom.hpp
│       │   ├── schwarzschild.hpp
│       │   ├── schwarzschild_de_sitter.hpp
│       │   ├── schwarzschild_isotropic.hpp
│       │   ├── spacetime_concept.hpp
│       │   └── subsidiary_source_field.hpp
│       │
│       ├── modified_gravity/
│       │   ├── f_r_gravity.hpp
│       │   ├── mond.hpp
│       │   └── teves.hpp
│       │
│       ├── observer/
│       │   ├── camera_collision.hpp
│       │   ├── camera_projections.hpp
│       │   ├── direction_projection.hpp
│       │   ├── observer_tetrad.hpp
│       │   ├── planet_orbit.hpp
│       │   ├── rocket_dynamics.hpp
│       │   ├── surface_geometry.hpp
│       │   ├── surface_walker.hpp
│       │   └── tetrad_transport.hpp
│       │
│       ├── optics/
│       │   ├── textures/
│       │   │   ├── earth_texture_catalog.hpp
│       │   │   ├── earth_texture_image.hpp
│       │   │   ├── sky_panorama_catalog.hpp
│       │   │   ├── sky_panorama_codecs.hpp
│       │   │   └── sky_panorama_image.hpp
│       │   │
│       │   ├── carter_ray_classifier.hpp
│       │   ├── cie_observer.hpp
│       │   ├── disk_thermal_profile.hpp
│       │   ├── geodesic_ray_probe.hpp
│       │   ├── inverse_compton.hpp
│       │   ├── maxwell_juttner.hpp
│       │   ├── polarization_spectrum.hpp
│       │   ├── polarized_radiative_transfer.hpp
│       │   ├── radiative_processes.hpp
│       │   ├── spectral_shift.hpp
│       │   ├── spectrum.hpp
│       │   ├── stokes_vector.hpp
│       │   ├── terrell_penrose.hpp
│       │   └── tonemapping.hpp
│       │
│       ├── orchestrator/
│       │   ├── benchmark_metrics.hpp
│       │   ├── command.hpp
│       │   ├── performance_profiler.hpp
│       │   ├── repl.hpp
│       │   ├── scheduler.hpp
│       │   ├── session_state.hpp
│       │   └── simulation_orchestrator.hpp
│       │
│       ├── render/
│       │   ├── accretion_disk/
│       │   │   ├── accretion_disk_model.hpp
│       │   │   ├── accretion_disk_settings.hpp
│       │   │   ├── hydro_disk_settings.hpp
│       │   │   └── hydro_disk_shading.hpp
│       │   │
│       │   ├── bodies/
│       │   │   ├── body_lighting.hpp
│       │   │   ├── body_surface_shading.hpp
│       │   │   ├── earth_surface_shading.hpp
│       │   │   ├── earth_terminator.hpp
│       │   │   └── earth_texture_requirements.hpp
│       │   │
│       │   ├── jet/
│       │   │   └── jet_settings.hpp
│       │   │
│       │   ├── double_single.hpp
│       │   ├── geodesic_compute_pipeline.hpp
│       │   ├── gpu_types.hpp
│       │   ├── software_compute_engine.hpp
│       │   ├── vulkan_compute_executor.hpp
│       │   └── vulkan_context.hpp
│       │
│       ├── ui/
│       │   ├── hud/
│       │   │   ├── hud_layout_config.hpp
│       │   │   ├── hud_linked_readouts.hpp
│       │   │   ├── hud_manager_window.hpp
│       │   │   └── hud_preferences.hpp
│       │   │
│       │   ├── schematic/
│       │   │   ├── schematic_primary_source_overlay.hpp
│       │   │   ├── schematic_view_config.hpp
│       │   │   └── schematic_view_renderer.hpp
│       │   │
│       │   ├── spatial_reference/
│       │   │   ├── spatial_reference_config.hpp
│       │   │   ├── spatial_reference_editor.hpp
│       │   │   └── spatial_reference_renderer.hpp
│       │   │
│       │   ├── accretion_disk_editor.hpp
│       │   ├── benchmark_workbench.hpp
│       │   ├── body_manager_window.hpp
│       │   ├── camera_control_config.hpp
│       │   ├── capture_studio_window.hpp
│       │   ├── capture_widgets.hpp
│       │   ├── compatibility_notes.hpp
│       │   ├── constants_window.hpp
│       │   ├── control_panel_window.hpp
│       │   ├── dark_matter_panel.hpp
│       │   ├── horizon_zone_strip.hpp
│       │   ├── input_actions.hpp
│       │   ├── interactive_camera_controller.hpp
│       │   ├── interface_persistence.hpp
│       │   ├── interferometry_panel.hpp
│       │   ├── jet_magnetosphere_editor.hpp
│       │   ├── keybind_settings_window.hpp
│       │   ├── log_console_window.hpp
│       │   ├── motion_script_editor.hpp
│       │   ├── multi_row_tab_bar.hpp
│       │   ├── numeric_slider_utils.hpp
│       │   ├── performance_analysis_window.hpp
│       │   ├── performance_settings_window.hpp
│       │   ├── polarization_panel.hpp
│       │   ├── ray_probe_panel.hpp
│       │   ├── scenario_selector_window.hpp
│       │   ├── secondary_view_window.hpp
│       │   ├── secondary_viewport_manager.hpp
│       │   ├── spectrograph_window.hpp
│       │   ├── telemetry_window.hpp
│       │   ├── tooltip_utils.hpp
│       │   ├── ui_manager.hpp
│       │   ├── viewport_primary_window.hpp
│       │   ├── visual_diagnostics_window.hpp
│       │   └── window_chrome.hpp
│       │
│       ├── uncertainty/
│       │   ├── covariance.hpp
│       │   ├── interval.hpp
│       │   ├── metrology.hpp
│       │   ├── monte_carlo_bundle.hpp
│       │   ├── orbital_wrapping_benchmark.hpp
│       │   ├── pce_geodesic.hpp
│       │   ├── polynomial_chaos.hpp
│       │   ├── uncertain_quantity.hpp
│       │   ├── uncertainty_types.hpp
│       │   ├── variational_geodesic.hpp
│       │   └── zonotope.hpp
│       │
│       └── units/
│           ├── expression_engine.hpp
│           ├── unit_aware_widgets.hpp
│           └── unit_system.hpp
│       
│   
│
├── scenarios/
│   ├── alcubierre_warp_bubble.yaml
│   ├── annihilation_matter_antimatter.yaml
│   ├── binary_black_hole_inspiral.yaml
│   ├── collision_cascade_demo.yaml
│   ├── cometary_flyby_high_eccentricity.yaml
│   ├── electromagnetic_binary_charges.yaml
│   ├── extremal_kerr_near_horizon.yaml
│   ├── flrw_cosmological_expansion.yaml
│   ├── galaxy_collision.yaml
│   ├── grand_tour_multiplanet_system.yaml
│   ├── hulse_taylor_pulsar.yaml
│   ├── kerr_accretion_disk.yaml
│   ├── kerr_black_hole.yaml
│   ├── kerr_newman_charged_rotating.yaml
│   ├── morris_thorne_wormhole.yaml
│   ├── reissner_nordstrom_charged.yaml
│   ├── relativistic_shock_tube.yaml
│   ├── schwarzschild_accretion.yaml
│   ├── schwarzschild_de_sitter_lambda.yaml
│   ├── solar_system_mercury.yaml
│   ├── thermodynamic_radiative_cooling.yaml
│   └── tidal_disruption_fragmentation.yaml
│
├── shaders/
│   ├── geodesic_tracer_ds.comp
│   ├── geodesic_tracer_fp64.comp
│   └── monte_carlo_shadow.comp
│
├── tests/
│   ├── benchmark_simd_bundle.cpp
│   ├── test_barnes_hut_octree.cpp
│   ├── test_bssn_gauge_wave.cpp
│   ├── test_camera_projections.cpp
│   ├── test_carter_constant.cpp
│   ├── test_christoffel_solver.cpp
│   ├── test_cie_spectral_pipeline.cpp
│   ├── test_concurrent_command_injection.cpp
│   ├── test_covariance_propagation.cpp
│   ├── test_dark_matter_field.cpp
│   ├── test_dark_matter_profiles.cpp
│   ├── test_default_startup_scenario.cpp
│   ├── test_double_single.cpp
│   ├── test_eos_tov.cpp
│   ├── test_ephemeris_kepler.cpp
│   ├── test_exotic_metrics.cpp
│   ├── test_f_r_chameleon.cpp
│   ├── test_fishbone_moncrief_torus.cpp
│   ├── test_fits_exporter.cpp
│   ├── test_frame_transforms.cpp
│   ├── test_galaxy_collision_nbody.cpp
│   ├── test_geodesic_bundle.cpp
│   ├── test_gravitational_waves.cpp
│   ├── test_hdf5_serializer.cpp
│   ├── test_hermite4_aarseth.cpp
│   ├── test_high_order_integrators.cpp
│   ├── test_horizon_crossing.cpp
│   ├── test_horizon_regime.cpp
│   ├── test_horizons_parser.cpp
│   ├── test_hulse_taylor_orbital_decay.cpp
│   ├── test_hyperbolic_motion.cpp
│   ├── test_interval_arithmetic.cpp
│   ├── test_invariant_preservation.cpp
│   ├── test_kerr_metrics.cpp
│   ├── test_kerr_schild_geodesics.cpp
│   ├── test_kerr_shadow_eht.cpp
│   ├── test_memory_arena.cpp
│   ├── test_mercury_precession.cpp
│   ├── test_mond_rotation_curves.cpp
│   ├── test_nodal_precession_leo.cpp
│   ├── test_novikov_thorne_disk.cpp
│   ├── test_observer_tetrad.cpp
│   ├── test_pcg64.cpp
│   ├── test_pn_conservative.cpp
│   ├── test_pn_radiation_reaction.cpp
│   ├── test_pn_spin_precession.cpp
│   ├── test_polarized_radiative_transfer.cpp
│   ├── test_polynomial_chaos.cpp
│   ├── test_relativistic_hydro.cpp
│   ├── test_repl_parser.cpp
│   ├── test_replay_loop.cpp
│   ├── test_rocket_dynamics.cpp
│   ├── test_scenario_serializer.cpp
│   ├── test_scheduler.cpp
│   ├── test_schwarzschild_shadow_render.cpp
│   ├── test_shapiro_delay.cpp
│   ├── test_simd_vec.cpp
│   ├── test_solar_deflection.cpp
│   ├── test_spectral_shift_beaming.cpp
│   ├── test_spherical_harmonics.cpp
│   ├── test_spk_reader.cpp
│   ├── test_spsc_queue.cpp
│   ├── test_static_metrics.cpp
│   ├── test_symplectic_gauss_legendre.cpp
│   ├── test_tensor_algebra.cpp
│   ├── test_terrell_penrose.cpp
│   ├── test_teves_metric.cpp
│   ├── test_thread_pool.cpp
│   ├── test_tidal_rotational_gravity.cpp
│   ├── test_ui_multi_window.cpp
│   ├── test_uncertain_quantity.cpp
│   ├── test_uncertainty_metrology.cpp
│   ├── test_uncertainty_pce.cpp
│   ├── test_vacuum_cosmo_metrics.cpp
│   ├── test_vtk_exporter.cpp
│   ├── test_vulkan_compute_pipeline.cpp
│   └── test_zonotope_propagation.cpp
│
├── .gitattributes
├── .gitignore
├── CMakeLists.txt
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
└── README.md