terraingenpy 0.1.0.dev279__tar.gz → 0.1.0.dev283__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/workflows/ci.yml +28 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/CMakeLists.txt +1 -1
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/PKG-INFO +101 -5
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/README.md +100 -4
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/population.cpp +29 -1
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/cube_sphere_cells.cpp +37 -1
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/generation/population_test.cpp +20 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/surface_test.cpp +36 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.clang-format +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.clang-tidy +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.cmake-format.yaml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.dockerignore +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.gitattributes +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/pull_request_template.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/scripts/install-lavapipe-windows.sh +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.gitignore +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.pre-commit-config.yaml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/CHANGELOG.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/CITATION.cff +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/CONTRIBUTING.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/Dockerfile +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/LICENSE +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/README.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_diff_4k.jpg +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_disp_4k.png +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_nor_gl_4k.exr +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_rough_4k.exr +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/BuildInfo.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/CoverageBadge.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/CraterKernel.slang.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/EmbedFile.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/Kernel.cpp.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/Kernel.slang.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/TerrainGenPackaging.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/TerrainGenSlang.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/TerrainGenTesting.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/terraingenConfig.cmake.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/benchmark.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/ernie.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/googletest.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/mesh_formats.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/miniz.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/nanobind.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/nvrtc.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/slang.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/volk.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/vulkan_headers.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/.gitignore +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/Makefile +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/README.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/api/cpp.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/api/python.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/concepts/index.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/css/extra.css +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/command-line.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/gui.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/index.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/installation.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/quickstart.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/guides/index.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/index.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/overrides/home.html +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/overrides/partials/header.html +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/requirements.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/validation/index.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/README.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/ages/example_ages_fresh.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/ages/example_ages_steady_state.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/ages/example_ages_uniform.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_blast_zone.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_crater_rays.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_fresh_crater.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_moon_site.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_new_crater.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_oblique_rays.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_rgb.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/albedo/example_albedo_synthetic.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_buried.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_ejecta.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_exposure.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_fragments.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_layer.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_models.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_patches.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_scene.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_shapes.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/boulders/example_boulders_sp8023.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_datum.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_degradation_diffusion.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_degradation_none.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_interior_replacement.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_irregular.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_manual.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_max_craters.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_profile_complex.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_profile_martin_parkes_dunstan.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_rim_smoothing_soft.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_secondaries.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_secondary_rays.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_simple.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_smoothed_rims.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_spacing.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/craters/example_craters_texture.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_moore_rough_mare.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_piecewise_power_law.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_power_law.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_tabulated.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_trask_equilibrium.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/distributions/example_distributions_viper.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/layers/example_layers_regions.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/layers/example_layers_roughness.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/layers/example_layers_scale_and_clamp.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_asteroid_body_mesh.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_bedforms.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_craters.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_dunes.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_exposure.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_pavement.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_sand_fill.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_sand_shadows.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_strata.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mars_ventifacts.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_mercury_site.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_moon_body_mesh.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/planets/example_planets_moon_site.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_billow.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_cellular.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_domain_warp.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_fbm.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_layered.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_ridged.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_roughness.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/config/terrain/example_terrain_voronoi.json +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/ages/example_ages_models.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/albedo/example_albedo_crater_rays.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/boulders/example_boulders_ejecta.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/boulders/example_boulders_layer.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/boulders/example_boulders_shapes.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/browser.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/browser.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/example.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/example.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/main.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/common/standalone_main.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/config/example_config_load.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/craters/example_craters_degradation.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/craters/example_craters_manual.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/craters/example_craters_profiles.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/craters/example_craters_secondaries.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/craters/example_craters_simple.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/distributions/example_distributions_csfd.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/layers/example_layers_custom.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/layers/example_layers_regions.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/planets/example_planets_moon.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/sources/example_sources_raster_detail.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/terrain/example_terrain_fbm.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/terrain/example_terrain_layered.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/tiles/example_tiles_body_pyramid.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/tiles/example_tiles_quadtree.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/cpp/tiles/example_tiles_rover_contacts.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/__main__.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/_browser.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/_common.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/_harness.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/_images.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/ages/example_ages_models.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/albedo/example_albedo_crater_rays.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/albedo/example_albedo_moon_site.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/albedo/example_albedo_options.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/boulders/example_boulders_exposure.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/boulders/example_boulders_layer.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/boulders/example_boulders_positioning.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/boulders/example_boulders_shapes.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/boulders/example_boulders_size_models.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/config/example_config_load.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_age_sweep.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_apply_options.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_degradation.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_irregularity.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_manual.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_positioning.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_profiles.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_rim_smoothing.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_secondaries.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/craters/example_craters_simple.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/distributions/example_distributions_csfd.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/distributions/example_distributions_custom.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/layers/example_layers_custom.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/layers/example_layers_regions.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_body_mesh.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_mars.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_mars_dunes.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_mars_exposure.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_mercury.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/planets/example_planets_moon_site.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/sources/example_sources_chain.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/sources/example_sources_raster_detail.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/terrain/example_terrain_fbm.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/terrain/example_terrain_fractal_types.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/terrain/example_terrain_hurst_sweep.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/terrain/example_terrain_layered.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/terrain/example_terrain_noise_kernels.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/tiles/example_tiles_body_pyramid.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/tiles/example_tiles_point_queries.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/tiles/example_tiles_quadtree.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/examples/python/tiles/example_tiles_rover_contacts.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/mkdocs.yml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/pyproject.toml +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/albedo.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/albedo.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/blast_zones.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/blast_zones.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/crater_albedo.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/crater_albedo.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/maturity.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/maturity.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/raster_albedo.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/raster_albedo.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/splotches.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/splotches.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/synthetic.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/albedo/synthetic.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/cli.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/cli.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/config_editor.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/config_editor.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/gui_app.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/gui_app.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/run.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/run.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/run_none.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/terrain_scene.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/gui/terrain_scene.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/app/main.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/build.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/build.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/config.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/config.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/feature_lists.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/albedo.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/boulders.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/checks.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/common.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/crater_models.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/craters.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/enums.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/fields.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/json_io.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/layers.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/materials.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/outputs.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/fields/sources.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/generate.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/generate.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/json.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/json.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/schema.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/validate.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/config/validate.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/combined.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/combined.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/equilibrium.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/equilibrium.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/golombek_rapp.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/golombek_rapp.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/ivanov.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/ivanov.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/log_polynomial.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/log_polynomial.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/minimum.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/minimum.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/moore.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/moore.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/neukum.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/neukum.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/piecewise_power_law.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/piecewise_power_law.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/power_law.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/power_law.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/production_surface.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/production_surface.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/size_frequency.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/size_frequency.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/sp8023.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/sp8023.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/spliced.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/spliced.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/summed.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/summed.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/synthterrain.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/synthterrain.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/tabulated.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/tabulated.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/viper.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/distribution/viper.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/backend.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/backend.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/cuda.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/cuda.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/kernel.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/kernel.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/metal.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/metal.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/program.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/vulkan.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/gpu/vulkan.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/bedforms.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/bedforms.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/abundance.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_fragments.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_fragments.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_layer.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_layer.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_models.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_models.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_options.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_options.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_placer.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_shape.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/boulders/boulder_shape.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/ages/age_model.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/ages/age_model.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/ages/steady_state.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/ages/steady_state.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater_layer.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater_layer.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater_placer.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/crater_placer.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/degradation_model.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/degradation_model.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/diffusion.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/diffusion.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/diffusivities.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/diffusivities.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/freshness.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/freshness.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/degradation/state.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/cell_cache.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/cell_cache.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/population.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/spacing.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/generation/spacing.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/complex.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/complex.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/fassett_thomson.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/fassett_thomson.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/martin_parkes_dunstan.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/martin_parkes_dunstan.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/profiles/profile.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/rays.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/rays.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/secondaries.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/secondaries.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/apply.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/apply.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/apply_options.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/apply_options.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/attributes.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/attributes.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/crater_kernel.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/crater_kernel.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/datum.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/datum.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/irregularity.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/irregularity.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/morphometry.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/morphometry.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/prepared.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/craters/shaping/prepared.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/detail.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/detail.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/dunes.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/dunes.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/evaluation_cache.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/exposure.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/exposure.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/fade.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/fade.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/ground.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/kernel.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/kernels/cell.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/kernels/craters.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/kernels/noise_relief.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/layer.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/layer.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/material.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/material.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/noise_relief.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/noise_relief.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/pavement.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/pavement.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/region.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/region.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/roughness.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/roughness.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sample_block.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sample_block.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sand_fill.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sand_fill.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sand_shadow.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/sand_shadow.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/strata.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/strata.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/transforms.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/layers/transforms.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/materials/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/materials/materials.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/materials/materials.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/formats.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/gltf.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/icq.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/icq.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/mesh_io.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/mesh_io.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/obj.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/io/stl.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/mesh.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/mesh.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/polyhedra.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/polyhedra.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/shape_model.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/mesh/shape_model.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/fractal.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/hash.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/lattice.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/noise_layers.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/perlin.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/simplex.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/validate.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/validate.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/value.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/noise/worley.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/body_mesh.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/body_mesh.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/features.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/features.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/height_mesh.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/height_mesh.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/terrain.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/terrain.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/tiles.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/pipeline/tiles.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/albedo.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/bindings.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/boulders.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/casters.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/common.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/crater_models.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/craters.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/distribution.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/gpu.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/layers.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/materials.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/mesh.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/module.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/noise.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/objects.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/pipeline.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/random.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/raster.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/sources.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/tables.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/trampolines.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/src/util.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/terraingen/__init__.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/python/terraingen/render.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/philox.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/samplers.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/samplers.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/stream.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/stream.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/value_distribution.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/random/value_distribution.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/cell_loops.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/cell_loops.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/gaussian_blur.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/gaussian_blur.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geo_transform.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/geotiff.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/geotiff.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/geotiff_read.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/geotiff_write.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/tiff_codecs.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/tiff_codecs.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/tiff_format.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/geotiff/tiff_format.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/grid.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/grid.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/raster.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/raster_stats.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/resample.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/raster/resample.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/flat_source.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/flat_source.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/geotiff_source.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/geotiff_source.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/source.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/source_chain.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/source_chain.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/synthetic_terrain.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/sources/synthetic_terrain.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/terraingen.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/build_info.cpp.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/build_info.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/cells.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/checks.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/checks.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/cube_faces.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/fft.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/fft.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/geometry.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/log.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/log.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/lru_cache.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/overloaded.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/parallel.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/parallel.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/planar_cells.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/portable.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/radial_shape.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/radial_shape.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/special_functions.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/special_functions.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/surface.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/surface.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/version.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/version.h.in +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/bench_craters.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/bench_grids.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/bench_point_queries.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/bench_python_subclasses.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/benchmark/fixtures.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/golden/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/golden/noise/kernels_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/build_info_stable.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/examples/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/package/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/package/main.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/integration/package/test_debian_packages.cmake +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/conftest.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_albedo.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_boulders.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_config.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_crater_models.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_craters.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_distributions.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_examples_harness.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_gpu.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_layers.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_meshes.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_noise.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_pipeline.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_random.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_raster.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_render.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_sources.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_stubs.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_tiles.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/python/test_util.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/distribution/crater_references_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/distribution/size_frequency_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/layers/boulders/boulder_layer_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/layers/craters/ages/ages_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/layers/craters/population_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/layers/roughness_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/statistical/random/random_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/support/log_capture.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/support/lunar_craters.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/support/raster_equality.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/support/statistics.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/support/temp_path.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/albedo/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/albedo/albedo_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/albedo/blast_zones_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/albedo/crater_albedo_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/albedo/splotches_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/cli_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/gui/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/gui/config_editor_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/gui/gui_app_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/app/gui/terrain_scene_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/build_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/checks_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/config_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/configs.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/feature_lists_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/generate_terrain_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/json_io_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/json_parse_errors_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/json_read_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/schema_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/validate_config_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/validate_sources_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/config/write_outputs_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/combined_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/equilibrium_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/golombek_rapp_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/ivanov_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/log_polynomial_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/minimum_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/moore_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/neukum_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/piecewise_power_law_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/power_law_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/production_surface_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/size_frequency_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/sp8023_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/spliced_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/summed_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/synthterrain_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/tabulated_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/distribution/viper_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/examples/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/examples/example_browser_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/examples/example_harness_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/backend_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/kernels/hash_conformance.slang +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/kernels/noise_conformance.slang +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/noise_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/gpu/vulkan_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/bedforms_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/boulders/boulder_fragments_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/boulders/boulder_layer_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/boulders/boulder_models_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/boulders/boulder_options_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/boulders/boulder_shape_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/ages/age_model_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/ages/steady_state_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/crater_layer_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/crater_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/degradation/degradation_model_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/degradation/diffusion_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/degradation/freshness_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/generation/cell_cache_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/generation/spacing_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/profiles/complex_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/profiles/fassett_thomson_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/profiles/martin_parkes_dunstan_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/secondaries_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/apply_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/attributes_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/crater_kernel_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/datum_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/irregularity_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/shaping/morphometry_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/craters/sphere_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/detail_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/dunes_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/evaluation_cache_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/exposure_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/fade_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/layer_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/noise_relief_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/pavement_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/region_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/roughness_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/sample_block_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/sand_fill_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/sand_shadow_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/sphere_layers_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/strata_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/layers/transforms_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/materials/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/materials/materials_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/io/icq_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/io/mesh_io_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/mesh_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/polyhedra_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/shape_model_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/mesh/support.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/fractal_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/hash_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/noise3_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/noise_layers_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/perlin_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/simplex_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/validate_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/value_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/noise/worley_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/features_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/height_mesh_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/terrain_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/terrain_tiles_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/terrains.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/tile_cache_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/pipeline/tiling_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/random/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/random/philox_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/random/samplers_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/random/stream_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/random/value_distribution_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/cell_loops_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/gaussian_blur_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/gdal_fixtures.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/generate_geotiff_fixtures.py +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/geo_transform_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/geotiff_fixtures.inc +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/geotiff_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/grid_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/raster_stats_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/raster_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/resample_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/raster/tiff_format_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/sources/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/sources/flat_source_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/sources/geotiff_source_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/sources/source_chain_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/sources/synthetic_terrain_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/CMakeLists.txt +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/cells_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/checks_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/fft_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/geometry_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/log_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/lru_cache_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/overloaded_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/parallel_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/radial_shape_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/special_functions_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/tests/unit/util/version_test.cpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/README.md +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/cgltf/LICENSE +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/cgltf/cgltf.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/cgltf/cgltf_write.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/miniz/LICENSE +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/miniz/miniz.c +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/miniz/miniz.h +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/nlohmann/LICENSE.MIT +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/nlohmann/json.hpp +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/tinyobjloader/LICENSE +0 -0
- {terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/third_party/tinyobjloader/tiny_obj_loader.h +0 -0
|
@@ -451,6 +451,34 @@ jobs:
|
|
|
451
451
|
path: dist
|
|
452
452
|
- uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
|
|
453
453
|
|
|
454
|
+
# The "latest" pre-release: main's packages and their checksums, replaced on every push to main.
|
|
455
|
+
# Marked as a pre-release and never as the latest release, so versioned releases stay the default.
|
|
456
|
+
latest:
|
|
457
|
+
needs: [lint, test, packages, package-test]
|
|
458
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
459
|
+
runs-on: ubuntu-24.04
|
|
460
|
+
timeout-minutes: 10
|
|
461
|
+
permissions:
|
|
462
|
+
contents: write
|
|
463
|
+
steps:
|
|
464
|
+
- uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
|
|
465
|
+
with:
|
|
466
|
+
pattern: "packages-*"
|
|
467
|
+
merge-multiple: true
|
|
468
|
+
path: assets
|
|
469
|
+
- name: Flatten
|
|
470
|
+
run: find assets -mindepth 2 -type f -exec mv -t assets {} + && find assets -mindepth 1 -type d -empty -delete
|
|
471
|
+
- name: Checksums
|
|
472
|
+
run: cd assets && sha256sum -- * > SHA256SUMS
|
|
473
|
+
- name: Release
|
|
474
|
+
env:
|
|
475
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
476
|
+
run: |
|
|
477
|
+
gh release delete latest --repo "$GITHUB_REPOSITORY" --cleanup-tag --yes || true
|
|
478
|
+
gh release create latest assets/* --repo "$GITHUB_REPOSITORY" --target "$GITHUB_SHA" \
|
|
479
|
+
--prerelease --latest=false --title "Latest (main)" \
|
|
480
|
+
--notes "Built from main at $GITHUB_SHA. For versioned binaries, use a tagged release."
|
|
481
|
+
|
|
454
482
|
# A GitHub release for each v* tag, with every wheel, the sdist, the packages and their checksums.
|
|
455
483
|
release:
|
|
456
484
|
needs: [lint, test, wheel, sdist, package-test, docker]
|
|
@@ -8,7 +8,7 @@ endif()
|
|
|
8
8
|
|
|
9
9
|
# The release being worked towards, such as 0.1.0, or for a development build a PEP 440 pre-release of
|
|
10
10
|
# it, such as 0.1.0.dev42, which only the Python package carries.
|
|
11
|
-
set(TERRAINGEN_FULL_VERSION "0.1.0.
|
|
11
|
+
set(TERRAINGEN_FULL_VERSION "0.1.0.dev283")
|
|
12
12
|
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" TERRAINGEN_VERSION "${TERRAINGEN_FULL_VERSION}")
|
|
13
13
|
|
|
14
14
|
project(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: terraingenpy
|
|
3
|
-
Version: 0.1.0.
|
|
3
|
+
Version: 0.1.0.dev283
|
|
4
4
|
Summary: Scientific terrain generation for planetary surfaces
|
|
5
5
|
Keywords: terrain,moon,mars,craters,planetary science,simulation
|
|
6
6
|
Author: Alex Maietta
|
|
@@ -94,7 +94,7 @@ We also provide:
|
|
|
94
94
|
|
|
95
95
|
For more information on the concepts behind TerrainGen and the API, see our latest [documentation](https://alexmaietta.github.io/terraingen/).
|
|
96
96
|
|
|
97
|
-
##
|
|
97
|
+
## Quick Start
|
|
98
98
|
|
|
99
99
|
We recommended getting started by installing `terraingenpy` from PyPi and running the GUI.
|
|
100
100
|
|
|
@@ -103,21 +103,117 @@ pip install terraingenpy
|
|
|
103
103
|
terraingen --gui
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
+
## Requirements
|
|
107
|
+
|
|
108
|
+
- Linux (Ubuntu 22.04 or newer), macOS 14 or newer, or Windows 10 or newer, on x86_64 or arm64.
|
|
109
|
+
- Python 3.10 or newer for the Python package.
|
|
110
|
+
- Optional: a Vulkan, CUDA or Metal driver for GPU acceleration. Run `terraingen backends` to see what is available.
|
|
111
|
+
|
|
112
|
+
## Installation
|
|
113
|
+
|
|
114
|
+
### Releases
|
|
115
|
+
|
|
116
|
+
Every [release](https://github.com/alexmaietta/terraingen/releases) has the CLI, library, headers and CMake package for each platform, and `.deb` packages for Ubuntu and Debian. The [latest](https://github.com/alexmaietta/terraingen/releases/tag/latest) pre-release is built from `main` on every push.
|
|
117
|
+
|
|
118
|
+
### Building from Source
|
|
119
|
+
|
|
120
|
+
You need CMake 3.22 or newer and a C++20 compiler (GCC 11, Clang 14, Apple Clang 15 or MSVC 2022). CMake fetches everything else.
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
124
|
+
cmake --build build -j 8
|
|
125
|
+
cmake --install build --prefix /usr/local
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
To build the Python package from source, run `pip install .` instead.
|
|
129
|
+
|
|
130
|
+
### Docker
|
|
131
|
+
|
|
132
|
+
```sh
|
|
133
|
+
docker run --rm ghcr.io/alexmaietta/terraingen:latest terraingen --help
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
The `dev` tag follows `main`.
|
|
137
|
+
|
|
138
|
+
## Getting Started
|
|
139
|
+
|
|
106
140
|
### Python
|
|
107
141
|
|
|
142
|
+
```python
|
|
143
|
+
import terraingen
|
|
144
|
+
|
|
145
|
+
# A flat 513 x 513 grid with 2 m pixels
|
|
146
|
+
ground = terraingen.FlatSource(513, 513, 2.0)
|
|
147
|
+
|
|
148
|
+
# Fractal noise 40 m high with an 800 m wavelength
|
|
149
|
+
fractal = terraingen.FractalParams(seed=1, wavelength=800.0, amplitude=40.0)
|
|
150
|
+
noise = terraingen.NoiseLayer(fractal)
|
|
151
|
+
relief = terraingen.NoiseRelief([noise])
|
|
152
|
+
|
|
153
|
+
terrain = terraingen.Terrain(ground, [relief])
|
|
154
|
+
heights = terraingen.evaluate(terrain)
|
|
155
|
+
terraingen.write_geotiff("terrain.tif", heights)
|
|
156
|
+
```
|
|
157
|
+
|
|
108
158
|
### C++
|
|
109
159
|
|
|
160
|
+
```cmake
|
|
161
|
+
find_package(terraingen REQUIRED)
|
|
162
|
+
target_link_libraries(app PRIVATE terraingen::terraingen)
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
```cpp
|
|
166
|
+
#include <terraingen/terraingen.h>
|
|
167
|
+
|
|
168
|
+
int main() {
|
|
169
|
+
// Fractal noise 40 m high with an 800 m wavelength
|
|
170
|
+
terraingen::NoiseLayer noise;
|
|
171
|
+
noise.fractal.seed = 1;
|
|
172
|
+
noise.fractal.wavelength = 800.0f;
|
|
173
|
+
noise.fractal.amplitude = 40.0f;
|
|
174
|
+
|
|
175
|
+
terraingen::SyntheticTerrainParams relief;
|
|
176
|
+
relief.layers = {noise};
|
|
177
|
+
|
|
178
|
+
// A flat 513 x 513 grid with 2 m pixels, plus the noise
|
|
179
|
+
terraingen::Terrain terrain;
|
|
180
|
+
terrain.source = std::make_shared<terraingen::FlatSource>(513, 513, 2.0);
|
|
181
|
+
terrain.layers.push_back(std::make_shared<terraingen::NoiseRelief>(relief));
|
|
182
|
+
|
|
183
|
+
terraingen::Raster<float> heights = terraingen::Evaluate(terrain);
|
|
184
|
+
terraingen::WriteGeoTiff("terrain.tif", heights);
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
110
188
|
### Examples
|
|
111
189
|
|
|
112
|
-
|
|
190
|
+
[examples/](examples/) has the same terrains as JSON configurations, C++ programs and Python scripts, covering basic terrains, craters, boulders, albedo, planets, DEM detail and tiles:
|
|
191
|
+
|
|
192
|
+
```sh
|
|
193
|
+
terraingen examples/config/craters/example_craters_simple.json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### Demos
|
|
113
197
|
|
|
198
|
+
[demos/](demos/) has larger showcases, such as terrain over a whole asteroid built from the Itokawa shape model.
|
|
114
199
|
|
|
115
200
|
## Contributing
|
|
116
201
|
|
|
202
|
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for how to build, test and submit changes.
|
|
203
|
+
|
|
117
204
|
### Documentation
|
|
118
205
|
|
|
206
|
+
The [documentation](https://alexmaietta.github.io/terraingen/) is built with MkDocs and Doxygen from [docs/](docs/). Run `make -C docs build` to build it locally.
|
|
207
|
+
|
|
119
208
|
### Code Coverage
|
|
120
209
|
|
|
210
|
+
The [coverage report](https://alexmaietta.github.io/terraingen/coverage/) is updated on every push to `main`. To generate it locally:
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
cmake -S . -B build-coverage -DTERRAINGEN_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug
|
|
214
|
+
cmake --build build-coverage -j 8 --target coverage
|
|
215
|
+
```
|
|
216
|
+
|
|
121
217
|
## Citation
|
|
122
218
|
|
|
123
219
|
If you use TerrainGen for published research, please cite:
|
|
@@ -147,5 +243,5 @@ TerrainGen draws inspiration from existing lunar terrain generation tools:
|
|
|
147
243
|
| --- | --- | --- | --- | --- |
|
|
148
244
|
| [synthterrain](https://github.com/NeoGeographyToolkit/synthterrain) | NASA Ames | Open source (Apache-2.0) | Crater and boulder populations from size-frequency distributions, crater profiles and DEMs on flat terrain | Doesn't generate surface detail or upscale existing DEMs, not actively contributed to. |
|
|
149
245
|
| [lunasynth](https://github.com/nasa-jpl/lunasynth) | NASA JPL | Open source (Apache-2.0) | Adds craters and boulders to a lunar base DEM, down to 1 cm pixels, and renders images under varying camera and sun positions | Project is not actively-maintained |
|
|
150
|
-
| [DLES Terrain Crafting](https://doi.org/10.1109/AERO63441.2025.11068736) | NASA JSC | Not publicly released (paper) | Enhances LOLA and NAC-derived DEMs of the lunar south pole to 20 cm with synthetic craters and boulders, including hand-placed craters from imagery | Not publicly released, |
|
|
151
|
-
| [PANGU](https://pangu.software/) | University of Dundee / STAR-Dundee | Commercial | Multi-resolution planet and asteroid surfaces from real or fractal DEMs with statistical craters and boulders; GPU camera, LiDAR and thermal sensor simulation |
|
|
246
|
+
| [DLES Terrain Crafting](https://doi.org/10.1109/AERO63441.2025.11068736) | NASA JSC | Not publicly released (paper) | Enhances LOLA and NAC-derived DEMs of the lunar south pole to 20 cm with synthetic craters and boulders, including hand-placed craters from imagery | Not publicly released, relies on manual crater counting, stamps craters from four template shapes, leaves blending rings around craters and smooth interpolated ground between them, and doesn't produce albedo maps. |
|
|
247
|
+
| [PANGU](https://pangu.software/) | University of Dundee / STAR-Dundee | Commercial (free for ESA projects) | Multi-resolution planet and asteroid surfaces from real or fractal DEMs with statistical craters and boulders; GPU camera, LiDAR and thermal sensor simulation | Requires a paid license outside ESA projects, and ships as standalone command-line tools and GUIs rather than a library to integrate into a project. |
|
|
@@ -38,7 +38,7 @@ We also provide:
|
|
|
38
38
|
|
|
39
39
|
For more information on the concepts behind TerrainGen and the API, see our latest [documentation](https://alexmaietta.github.io/terraingen/).
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## Quick Start
|
|
42
42
|
|
|
43
43
|
We recommended getting started by installing `terraingenpy` from PyPi and running the GUI.
|
|
44
44
|
|
|
@@ -47,21 +47,117 @@ pip install terraingenpy
|
|
|
47
47
|
terraingen --gui
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
## Requirements
|
|
51
|
+
|
|
52
|
+
- Linux (Ubuntu 22.04 or newer), macOS 14 or newer, or Windows 10 or newer, on x86_64 or arm64.
|
|
53
|
+
- Python 3.10 or newer for the Python package.
|
|
54
|
+
- Optional: a Vulkan, CUDA or Metal driver for GPU acceleration. Run `terraingen backends` to see what is available.
|
|
55
|
+
|
|
56
|
+
## Installation
|
|
57
|
+
|
|
58
|
+
### Releases
|
|
59
|
+
|
|
60
|
+
Every [release](https://github.com/alexmaietta/terraingen/releases) has the CLI, library, headers and CMake package for each platform, and `.deb` packages for Ubuntu and Debian. The [latest](https://github.com/alexmaietta/terraingen/releases/tag/latest) pre-release is built from `main` on every push.
|
|
61
|
+
|
|
62
|
+
### Building from Source
|
|
63
|
+
|
|
64
|
+
You need CMake 3.22 or newer and a C++20 compiler (GCC 11, Clang 14, Apple Clang 15 or MSVC 2022). CMake fetches everything else.
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
|
|
68
|
+
cmake --build build -j 8
|
|
69
|
+
cmake --install build --prefix /usr/local
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
To build the Python package from source, run `pip install .` instead.
|
|
73
|
+
|
|
74
|
+
### Docker
|
|
75
|
+
|
|
76
|
+
```sh
|
|
77
|
+
docker run --rm ghcr.io/alexmaietta/terraingen:latest terraingen --help
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The `dev` tag follows `main`.
|
|
81
|
+
|
|
82
|
+
## Getting Started
|
|
83
|
+
|
|
50
84
|
### Python
|
|
51
85
|
|
|
86
|
+
```python
|
|
87
|
+
import terraingen
|
|
88
|
+
|
|
89
|
+
# A flat 513 x 513 grid with 2 m pixels
|
|
90
|
+
ground = terraingen.FlatSource(513, 513, 2.0)
|
|
91
|
+
|
|
92
|
+
# Fractal noise 40 m high with an 800 m wavelength
|
|
93
|
+
fractal = terraingen.FractalParams(seed=1, wavelength=800.0, amplitude=40.0)
|
|
94
|
+
noise = terraingen.NoiseLayer(fractal)
|
|
95
|
+
relief = terraingen.NoiseRelief([noise])
|
|
96
|
+
|
|
97
|
+
terrain = terraingen.Terrain(ground, [relief])
|
|
98
|
+
heights = terraingen.evaluate(terrain)
|
|
99
|
+
terraingen.write_geotiff("terrain.tif", heights)
|
|
100
|
+
```
|
|
101
|
+
|
|
52
102
|
### C++
|
|
53
103
|
|
|
104
|
+
```cmake
|
|
105
|
+
find_package(terraingen REQUIRED)
|
|
106
|
+
target_link_libraries(app PRIVATE terraingen::terraingen)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```cpp
|
|
110
|
+
#include <terraingen/terraingen.h>
|
|
111
|
+
|
|
112
|
+
int main() {
|
|
113
|
+
// Fractal noise 40 m high with an 800 m wavelength
|
|
114
|
+
terraingen::NoiseLayer noise;
|
|
115
|
+
noise.fractal.seed = 1;
|
|
116
|
+
noise.fractal.wavelength = 800.0f;
|
|
117
|
+
noise.fractal.amplitude = 40.0f;
|
|
118
|
+
|
|
119
|
+
terraingen::SyntheticTerrainParams relief;
|
|
120
|
+
relief.layers = {noise};
|
|
121
|
+
|
|
122
|
+
// A flat 513 x 513 grid with 2 m pixels, plus the noise
|
|
123
|
+
terraingen::Terrain terrain;
|
|
124
|
+
terrain.source = std::make_shared<terraingen::FlatSource>(513, 513, 2.0);
|
|
125
|
+
terrain.layers.push_back(std::make_shared<terraingen::NoiseRelief>(relief));
|
|
126
|
+
|
|
127
|
+
terraingen::Raster<float> heights = terraingen::Evaluate(terrain);
|
|
128
|
+
terraingen::WriteGeoTiff("terrain.tif", heights);
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
54
132
|
### Examples
|
|
55
133
|
|
|
56
|
-
|
|
134
|
+
[examples/](examples/) has the same terrains as JSON configurations, C++ programs and Python scripts, covering basic terrains, craters, boulders, albedo, planets, DEM detail and tiles:
|
|
135
|
+
|
|
136
|
+
```sh
|
|
137
|
+
terraingen examples/config/craters/example_craters_simple.json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Demos
|
|
57
141
|
|
|
142
|
+
[demos/](demos/) has larger showcases, such as terrain over a whole asteroid built from the Itokawa shape model.
|
|
58
143
|
|
|
59
144
|
## Contributing
|
|
60
145
|
|
|
146
|
+
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for how to build, test and submit changes.
|
|
147
|
+
|
|
61
148
|
### Documentation
|
|
62
149
|
|
|
150
|
+
The [documentation](https://alexmaietta.github.io/terraingen/) is built with MkDocs and Doxygen from [docs/](docs/). Run `make -C docs build` to build it locally.
|
|
151
|
+
|
|
63
152
|
### Code Coverage
|
|
64
153
|
|
|
154
|
+
The [coverage report](https://alexmaietta.github.io/terraingen/coverage/) is updated on every push to `main`. To generate it locally:
|
|
155
|
+
|
|
156
|
+
```sh
|
|
157
|
+
cmake -S . -B build-coverage -DTERRAINGEN_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug
|
|
158
|
+
cmake --build build-coverage -j 8 --target coverage
|
|
159
|
+
```
|
|
160
|
+
|
|
65
161
|
## Citation
|
|
66
162
|
|
|
67
163
|
If you use TerrainGen for published research, please cite:
|
|
@@ -91,5 +187,5 @@ TerrainGen draws inspiration from existing lunar terrain generation tools:
|
|
|
91
187
|
| --- | --- | --- | --- | --- |
|
|
92
188
|
| [synthterrain](https://github.com/NeoGeographyToolkit/synthterrain) | NASA Ames | Open source (Apache-2.0) | Crater and boulder populations from size-frequency distributions, crater profiles and DEMs on flat terrain | Doesn't generate surface detail or upscale existing DEMs, not actively contributed to. |
|
|
93
189
|
| [lunasynth](https://github.com/nasa-jpl/lunasynth) | NASA JPL | Open source (Apache-2.0) | Adds craters and boulders to a lunar base DEM, down to 1 cm pixels, and renders images under varying camera and sun positions | Project is not actively-maintained |
|
|
94
|
-
| [DLES Terrain Crafting](https://doi.org/10.1109/AERO63441.2025.11068736) | NASA JSC | Not publicly released (paper) | Enhances LOLA and NAC-derived DEMs of the lunar south pole to 20 cm with synthetic craters and boulders, including hand-placed craters from imagery | Not publicly released, |
|
|
95
|
-
| [PANGU](https://pangu.software/) | University of Dundee / STAR-Dundee | Commercial | Multi-resolution planet and asteroid surfaces from real or fractal DEMs with statistical craters and boulders; GPU camera, LiDAR and thermal sensor simulation |
|
|
190
|
+
| [DLES Terrain Crafting](https://doi.org/10.1109/AERO63441.2025.11068736) | NASA JSC | Not publicly released (paper) | Enhances LOLA and NAC-derived DEMs of the lunar south pole to 20 cm with synthetic craters and boulders, including hand-placed craters from imagery | Not publicly released, relies on manual crater counting, stamps craters from four template shapes, leaves blending rings around craters and smooth interpolated ground between them, and doesn't produce albedo maps. |
|
|
191
|
+
| [PANGU](https://pangu.software/) | University of Dundee / STAR-Dundee | Commercial (free for ESA projects) | Multi-resolution planet and asteroid surfaces from real or fractal DEMs with statistical craters and boulders; GPU camera, LiDAR and thermal sensor simulation | Requires a paid license outside ESA projects, and ships as standalone command-line tools and GUIs rather than a library to integrate into a project. |
|
|
@@ -163,11 +163,12 @@ class Generation {
|
|
|
163
163
|
CraterList craters;
|
|
164
164
|
craters.Reserve(static_cast<std::size_t>(expected));
|
|
165
165
|
for (const BandPlan& entry : plan) {
|
|
166
|
+
const BandRegion region = BandRegionOf(entry.band);
|
|
166
167
|
for (const CellIndex& cell : entry.cells) {
|
|
167
168
|
const std::shared_ptr<const CraterList> drawn = DrawCell(entry.band, cell);
|
|
168
169
|
for (std::size_t n = 0; n < drawn->Size(); ++n) {
|
|
169
170
|
const Crater crater = drawn->At(n);
|
|
170
|
-
if (
|
|
171
|
+
if (InBandRegion(region, crater)) {
|
|
171
172
|
craters.Append(crater);
|
|
172
173
|
}
|
|
173
174
|
}
|
|
@@ -176,6 +177,33 @@ class Generation {
|
|
|
176
177
|
return craters;
|
|
177
178
|
}
|
|
178
179
|
|
|
180
|
+
/// The region expanded by the candidate margins of a band's smallest and largest craters,
|
|
181
|
+
/// which bound every margin in between since `Expand` and `CandidateMargin` only grow.
|
|
182
|
+
struct BandRegion {
|
|
183
|
+
CraterBand band;
|
|
184
|
+
Bounds2d inner;
|
|
185
|
+
Bounds2d outer;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
BandRegion BandRegionOf(const CraterBand& band) const {
|
|
189
|
+
return {band, surface_.Expand(region_, CandidateMargin(band.low)),
|
|
190
|
+
surface_.Expand(region_, CandidateMargin(band.high))};
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/// `InRegion` with the crater's candidate margin, expanding the region only for craters of the
|
|
194
|
+
/// band between its inner and outer regions.
|
|
195
|
+
bool InBandRegion(const BandRegion& region, const Crater& crater) const {
|
|
196
|
+
if (!(crater.diameter >= region.band.low && crater.diameter <= region.band.high)) {
|
|
197
|
+
return InRegion(crater, CandidateMargin(crater.diameter));
|
|
198
|
+
}
|
|
199
|
+
const Vec2d centre{crater.x, crater.y};
|
|
200
|
+
if (!surface_.Contains(region.outer, centre)) {
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
return surface_.Contains(region.inner, centre) ||
|
|
204
|
+
InRegion(crater, CandidateMargin(crater.diameter));
|
|
205
|
+
}
|
|
206
|
+
|
|
179
207
|
std::shared_ptr<const CraterList> DrawCell(const CraterBand& band,
|
|
180
208
|
const CellIndex& cell) const {
|
|
181
209
|
if (options_.cellCraters) {
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/terraingen/util/cube_sphere_cells.cpp
RENAMED
|
@@ -164,7 +164,43 @@ std::vector<CellIndex> CubeSphereCells::CellsCovering(const Bounds2d& region,
|
|
|
164
164
|
cells.insert(cells.end(), around.begin(), around.end());
|
|
165
165
|
}
|
|
166
166
|
SortUnique(cells);
|
|
167
|
-
|
|
167
|
+
// A ring cell reaches the region only if its centre lies within its farthest corner's angle of
|
|
168
|
+
// it, since cell edges are great circles; one expansion by the largest such angle tests them.
|
|
169
|
+
const std::int32_t n = CellsPerEdge(cellSize);
|
|
170
|
+
std::vector<CellIndex> ring;
|
|
171
|
+
std::vector<Vec2d> centres;
|
|
172
|
+
double widest = 0.0;
|
|
173
|
+
for (const CellIndex& cell : cells) {
|
|
174
|
+
if (std::binary_search(seeds.begin(), seeds.end(), cell)) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
const auto [a1, a2, b1, b2] = Bounds(cell, cellSize);
|
|
178
|
+
const detail::CubeFace& face = detail::kCubeFaces[static_cast<std::size_t>(cell.i / n)];
|
|
179
|
+
const Vec3d centre =
|
|
180
|
+
Normalized(detail::CubeFacePoint(face, 0.5 * (a1 + a2), 0.5 * (b1 + b2)));
|
|
181
|
+
double nearest = 1.0;
|
|
182
|
+
for (const double a : {a1, a2}) {
|
|
183
|
+
for (const double b : {b1, b2}) {
|
|
184
|
+
nearest =
|
|
185
|
+
std::min(nearest, Dot(centre, Normalized(detail::CubeFacePoint(face, a, b))));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
widest = std::max(widest, std::acos(std::clamp(nearest, -1.0, 1.0)));
|
|
189
|
+
ring.push_back(cell);
|
|
190
|
+
centres.push_back(sphere.PointOf(centre));
|
|
191
|
+
}
|
|
192
|
+
if (ring.empty()) {
|
|
193
|
+
return cells;
|
|
194
|
+
}
|
|
195
|
+
const Bounds2d reach = sphere.Expand(box, radius_ * (widest * (1.0 + 1e-9) + 1e-12));
|
|
196
|
+
std::vector<CellIndex> kept = seeds;
|
|
197
|
+
for (std::size_t k = 0; k < ring.size(); ++k) {
|
|
198
|
+
if (sphere.Contains(reach, centres[k])) {
|
|
199
|
+
kept.push_back(ring[k]);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
SortUnique(kept);
|
|
203
|
+
return kept;
|
|
168
204
|
}
|
|
169
205
|
|
|
170
206
|
double CubeSphereCells::CellArea(const CellIndex& cell, double cellSize) const {
|
|
@@ -445,6 +445,26 @@ TEST(GenerateCraters, CellCraterSourcesGiveTheSameCraters) {
|
|
|
445
445
|
}
|
|
446
446
|
}
|
|
447
447
|
|
|
448
|
+
TEST(GenerateCraters, CellCraterSourcesOutsideTheirBandKeepCratersWithinTheirOwnMargin) {
|
|
449
|
+
const terraingen::PowerLawSfd density(0.05, 2.0);
|
|
450
|
+
const terraingen::UniformAges ages(1.0);
|
|
451
|
+
const terraingen::Bounds2d region{-50.0, -50.0, 50.0, 50.0};
|
|
452
|
+
terraingen::CraterGenerationOptions options{.dMin = 3.0, .dMax = 60.0, .marginRadii = 1.5};
|
|
453
|
+
int calls = 0;
|
|
454
|
+
options.cellCraters = [&](const terraingen::CraterBand&, const terraingen::CellIndex&) {
|
|
455
|
+
++calls;
|
|
456
|
+
terraingen::CraterList craters;
|
|
457
|
+
craters.Append({region.maxX + 140.0, 0.0, 200.0, 0.5, 1u});
|
|
458
|
+
craters.Append({region.maxX + 160.0, 0.0, 200.0, 0.5, 2u});
|
|
459
|
+
return std::make_shared<const terraingen::CraterList>(craters);
|
|
460
|
+
};
|
|
461
|
+
const auto craters =
|
|
462
|
+
terraingen::GenerateCraters(terraingen::PlanarCells(), region, density, ages, 5u, options);
|
|
463
|
+
EXPECT_GT(calls, 0);
|
|
464
|
+
EXPECT_EQ(std::count(craters.Ids().begin(), craters.Ids().end(), 1u), calls);
|
|
465
|
+
EXPECT_EQ(std::count(craters.Ids().begin(), craters.Ids().end(), 2u), 0);
|
|
466
|
+
}
|
|
467
|
+
|
|
448
468
|
TEST(GenerateCraters, SkippingUnresolvedBandsKeepsEveryResolvedCrater) {
|
|
449
469
|
const terraingen::PowerLawSfd density(0.05, 2.0);
|
|
450
470
|
const terraingen::UniformAges ages(1.0);
|
|
@@ -225,6 +225,42 @@ TEST(CubeSphereCells, CoveringFindsEveryCellReachingTheRegion) {
|
|
|
225
225
|
EXPECT_THROW(cells.CellsCovering({0.0, 0.0, NAN, 1.0}, size), std::invalid_argument);
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
+
TEST(CubeSphereCells, CoveringKeepsCellsAtTheRegionEdgesAndDropsFarRingCells) {
|
|
229
|
+
const CubeSphereCells cells(kMoon);
|
|
230
|
+
const double size = 40000.0;
|
|
231
|
+
const double corner = std::atan(1.0 / std::sqrt(2.0)) * 180.0 / std::numbers::pi;
|
|
232
|
+
for (const Bounds2d& region :
|
|
233
|
+
{Bounds2d{44.6, 34.9, 45.4, 35.3}, Bounds2d{44.9, -0.3, 45.1, 0.3},
|
|
234
|
+
Bounds2d{44.8, corner - 0.2, 45.2, corner + 0.2}, Bounds2d{-0.4, 89.5, 0.4, 90.0},
|
|
235
|
+
Bounds2d{179.8, 10.0, 180.4, 10.5}, Bounds2d{-30.0, -20.0, -29.0, -19.0}}) {
|
|
236
|
+
const std::vector<CellIndex> covering = cells.CellsCovering(region, size);
|
|
237
|
+
RandomStream random(11, 12);
|
|
238
|
+
for (int k = 0; k < 4000; ++k) {
|
|
239
|
+
const double t = random.NextDouble();
|
|
240
|
+
const double lon = region.minX + (region.maxX - region.minX) * t;
|
|
241
|
+
const double lat = region.minY + (region.maxY - region.minY) * t;
|
|
242
|
+
for (const auto& [x, y] : {std::pair{lon, region.minY}, std::pair{lon, region.maxY},
|
|
243
|
+
std::pair{region.minX, lat}, std::pair{region.maxX, lat}}) {
|
|
244
|
+
const CellIndex c = cells.CellOf(x, y, size);
|
|
245
|
+
EXPECT_TRUE(std::binary_search(covering.begin(), covering.end(), c))
|
|
246
|
+
<< x << " " << y;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
const CellIndex centre = cells.CellOf(10.0, 10.0, size);
|
|
252
|
+
const std::int32_t n = cells.CellsPerEdge(size);
|
|
253
|
+
const double step = std::numbers::pi / 2.0 / n;
|
|
254
|
+
const Vec3d direction = CubeSphereCells::Direction(
|
|
255
|
+
centre.i / n, -std::numbers::pi / 4.0 + (centre.i % n + 0.5) * step,
|
|
256
|
+
-std::numbers::pi / 4.0 + (centre.j + 0.5) * step);
|
|
257
|
+
const Vec2d point = Surface::Sphere(kMoon).PointOf(direction);
|
|
258
|
+
const std::vector<CellIndex> one =
|
|
259
|
+
cells.CellsCovering(terraingen::PointBounds(point.x, point.y), size);
|
|
260
|
+
ASSERT_EQ(one.size(), 1u);
|
|
261
|
+
EXPECT_EQ(one[0], centre);
|
|
262
|
+
}
|
|
263
|
+
|
|
228
264
|
TEST(CubeSphereCells, TwoRingsOfNeighboursHoldEveryPointWithinACellAcrossFacesAndCorners) {
|
|
229
265
|
const CubeSphereCells cells(kMoon);
|
|
230
266
|
const Surface moon = Surface::Sphere(kMoon);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/ISSUE_TEMPLATE/bug_report.yml
RENAMED
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/ISSUE_TEMPLATE/feature_request.yml
RENAMED
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/.github/scripts/install-lavapipe-windows.sh
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_nor_gl_4k.exr
RENAMED
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/assets/textures/moon_01_rough_4k.exr
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/mesh_formats.cmake
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/cmake/third_party/vulkan_headers.cmake
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/command-line.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{terraingenpy-0.1.0.dev279 → terraingenpy-0.1.0.dev283}/docs/getting-started/installation.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|