From 136ed726cf749c24b3673c046581a38ef48be390 Mon Sep 17 00:00:00 2001 From: tei Date: Fri, 18 Sep 2026 17:03:05 +0900 Subject: [PATCH] fix: close ios xcframework packaging blockers --- bazel/core.bzl | 45 ++++++++++++++++++- .../offline_fixture_particle_adapter.cpp | 17 ++++--- .../render_particle_validation_layer.cpp | 2 + 3 files changed, 54 insertions(+), 10 deletions(-) diff --git a/bazel/core.bzl b/bazel/core.bzl index 198ba465d..a60e24f5e 100644 --- a/bazel/core.bzl +++ b/bazel/core.bzl @@ -64,7 +64,6 @@ MLN_GENERATED_STYLE_SOURCE = [ "src/mbgl/style/layers/color_relief_layer.cpp", "src/mbgl/style/layers/background_layer_properties.cpp", "src/mbgl/style/layers/background_layer.cpp", - "src/mbgl/style/layers/particle_validation_layer.cpp", "src/mbgl/style/layers/location_indicator_layer_properties.cpp", "src/mbgl/style/layers/location_indicator_layer.cpp", "src/mbgl/style/light.cpp", @@ -100,6 +99,7 @@ MLN_GENERATED_OPENGL_SHADER_HEADERS = [ "include/mbgl/shaders/gl/fill_extrusion_pattern_instanced.hpp", "include/mbgl/shaders/gl/heatmap.hpp", "include/mbgl/shaders/gl/heatmap_texture.hpp", + "include/mbgl/shaders/gl/particle_gpu_validation.hpp", "include/mbgl/shaders/gl/hillshade_prepare.hpp", "include/mbgl/shaders/gl/hillshade.hpp", "include/mbgl/shaders/gl/color_relief.hpp", @@ -164,6 +164,8 @@ MLN_CORE_SOURCE = [ "src/mbgl/gfx/vertex_vector.hpp", "src/mbgl/layermanager/background_layer_factory.cpp", "src/mbgl/layermanager/particle_validation_layer_factory.cpp", + "src/mbgl/layermanager/raster_particle_layer_factory.cpp", + "src/mbgl/layermanager/weather_color_layer_factory.cpp", "src/mbgl/layermanager/circle_layer_factory.cpp", "src/mbgl/layermanager/custom_layer_factory.cpp", "src/mbgl/layermanager/fill_extrusion_layer_factory.cpp", @@ -203,6 +205,16 @@ MLN_CORE_SOURCE = [ "src/mbgl/map/zoom_history.hpp", "src/mbgl/math/log2.cpp", "src/mbgl/platform/settings.cpp", + "src/mbgl/particle/field/offline_fixture_particle_adapter.cpp", + "src/mbgl/particle/field/offline_fixture_particle_adapter.hpp", + "src/mbgl/particle/field/field_data_adapter.cpp", + "src/mbgl/particle/field/field_runtime.cpp", + "src/mbgl/particle/field/field_binding.cpp", + "src/mbgl/particle/field/field_projection_materialization.cpp", + "src/mbgl/particle/field/field_profile_validator.cpp", + "src/mbgl/particle/field/field_profile_contract_json.cpp", + "src/mbgl/particle/ingress/qbin_v2_decoder.cpp", + "src/mbgl/particle/field/local_particle_field_feed.cpp", "src/mbgl/renderer/backend_scope.cpp", "src/mbgl/renderer/bucket.hpp", "src/mbgl/renderer/bucket_parameters.cpp", @@ -237,6 +249,9 @@ MLN_CORE_SOURCE = [ "src/mbgl/renderer/layers/render_background_layer.hpp", "src/mbgl/renderer/layers/render_particle_validation_layer.cpp", "src/mbgl/renderer/layers/render_particle_validation_layer.hpp", + "src/mbgl/renderer/layers/render_raster_particle_layer.hpp", + "src/mbgl/renderer/layers/render_weather_color_layer.cpp", + "src/mbgl/renderer/layers/render_weather_color_layer.hpp", "src/mbgl/renderer/layers/render_circle_layer.cpp", "src/mbgl/renderer/layers/render_circle_layer.hpp", "src/mbgl/renderer/layers/render_custom_layer.cpp", @@ -297,6 +312,7 @@ MLN_CORE_SOURCE = [ "src/mbgl/renderer/sources/render_raster_dem_source.hpp", "src/mbgl/renderer/sources/render_raster_source.cpp", "src/mbgl/renderer/sources/render_raster_source.hpp", + "src/mbgl/renderer/sources/render_raster_array_source.hpp", "src/mbgl/renderer/sources/render_tile_source.cpp", "src/mbgl/renderer/sources/render_tile_source.hpp", "src/mbgl/renderer/sources/render_vector_source.cpp", @@ -410,7 +426,13 @@ MLN_CORE_SOURCE = [ "src/mbgl/style/layer_observer.hpp", "src/mbgl/style/layers/background_layer_impl.cpp", "src/mbgl/style/layers/background_layer_impl.hpp", + "src/mbgl/style/layers/particle_validation_layer.cpp", "src/mbgl/style/layers/particle_validation_layer_impl.hpp", + "src/mbgl/style/layers/particle_render_layer_properties.hpp", + "src/mbgl/style/layers/raster_particle_layer.cpp", + "src/mbgl/style/layers/raster_particle_layer_impl.hpp", + "src/mbgl/style/layers/weather_color_layer.cpp", + "src/mbgl/style/layers/weather_color_layer_impl.hpp", "src/mbgl/style/layers/circle_layer_impl.cpp", "src/mbgl/style/layers/circle_layer_impl.hpp", "src/mbgl/style/layers/custom_layer.cpp", @@ -462,6 +484,8 @@ MLN_CORE_SOURCE = [ "src/mbgl/style/sources/raster_dem_source.cpp", "src/mbgl/style/sources/tile_source.cpp", "src/mbgl/style/sources/raster_source.cpp", + "src/mbgl/style/sources/raster_array_source.cpp", + "src/mbgl/style/sources/raster_array_source_impl.hpp", "src/mbgl/style/sources/tile_source_impl.cpp", "src/mbgl/style/sources/tile_source_impl.hpp", "src/mbgl/style/sources/vector_source.cpp", @@ -628,6 +652,16 @@ MLN_CORE_SOURCE = [ }) MLN_CORE_HEADERS = [ + "include/mbgl/particle/field/field_data_adapter.hpp", + "include/mbgl/particle/field/field_profile_contract.hpp", + "include/mbgl/particle/field/field_profile_validator.hpp", + "include/mbgl/particle/field/field_profile_contract_json.hpp", + "include/mbgl/particle/field/field_projection_materialization.hpp", + "include/mbgl/particle/field/field_runtime.hpp", + "include/mbgl/particle/field/field_binding.hpp", + "include/mbgl/particle/ingress/qbin_v2_decoder.hpp", + "include/mbgl/particle/ingress/encoded_field_transport.hpp", + "include/mbgl/particle/field/local_particle_field_feed.hpp", "include/mbgl/gfx/command_encoder.hpp", "include/mbgl/gfx/debug_group.hpp", "include/mbgl/gfx/context.hpp", @@ -666,6 +700,8 @@ MLN_CORE_HEADERS = [ "include/mbgl/i18n/number_format.hpp", "include/mbgl/layermanager/background_layer_factory.hpp", "include/mbgl/layermanager/particle_validation_layer_factory.hpp", + "include/mbgl/layermanager/raster_particle_layer_factory.hpp", + "include/mbgl/layermanager/weather_color_layer_factory.hpp", "include/mbgl/layermanager/circle_layer_factory.hpp", "include/mbgl/layermanager/custom_layer_factory.hpp", "include/mbgl/layermanager/fill_extrusion_layer_factory.hpp", @@ -680,6 +716,10 @@ MLN_CORE_HEADERS = [ "include/mbgl/layermanager/raster_layer_factory.hpp", "include/mbgl/layermanager/symbol_layer_factory.hpp", "include/mbgl/style/layers/particle_validation_layer.hpp", + "include/mbgl/style/layers/raster_particle_layer.hpp", + "include/mbgl/style/layers/weather_color_layer.hpp", + "include/mbgl/style/layers/weather_color_stop.hpp", + "include/mbgl/style/sources/raster_array_source.hpp", "include/mbgl/map/bound_options.hpp", "include/mbgl/map/camera.hpp", "include/mbgl/map/change.hpp", @@ -1013,6 +1053,7 @@ MLN_DRAWABLES_HEADERS = [ "include/mbgl/shaders/fill_extrusion_layer_ubo.hpp", "include/mbgl/shaders/heatmap_layer_ubo.hpp", "include/mbgl/shaders/heatmap_texture_layer_ubo.hpp", + "include/mbgl/shaders/particle_gpu_validation_ubo.hpp", "include/mbgl/shaders/hillshade_layer_ubo.hpp", "include/mbgl/shaders/color_relief_layer_ubo.hpp", "include/mbgl/shaders/hillshade_prepare_layer_ubo.hpp", @@ -1094,6 +1135,7 @@ MLN_DRAWABLES_MTL_SOURCE = [ "src/mbgl/shaders/mtl/color_relief.cpp", "src/mbgl/shaders/mtl/line.cpp", "src/mbgl/shaders/mtl/location_indicator.cpp", + "src/mbgl/shaders/mtl/particle_gpu_validation.cpp", "src/mbgl/shaders/mtl/raster.cpp", "src/mbgl/shaders/mtl/symbol.cpp", "src/mbgl/shaders/mtl/widevector.cpp", @@ -1137,6 +1179,7 @@ MLN_DRAWABLES_MTL_HEADERS = [ "include/mbgl/shaders/mtl/color_relief.hpp", "include/mbgl/shaders/mtl/line.hpp", "include/mbgl/shaders/mtl/location_indicator.hpp", + "include/mbgl/shaders/mtl/particle_gpu_validation.hpp", "include/mbgl/shaders/mtl/raster.hpp", "include/mbgl/shaders/mtl/shader_group.hpp", "include/mbgl/shaders/mtl/shader_program.hpp", diff --git a/src/mbgl/particle/field/offline_fixture_particle_adapter.cpp b/src/mbgl/particle/field/offline_fixture_particle_adapter.cpp index e0efe12c4..28a55d3da 100644 --- a/src/mbgl/particle/field/offline_fixture_particle_adapter.cpp +++ b/src/mbgl/particle/field/offline_fixture_particle_adapter.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include @@ -18,15 +17,15 @@ bool knownFixture(const std::string& fixtureID) { fixtureID == "nodata"; } -std::string readText(const std::filesystem::path& path) { - std::ifstream input(path); - if (!input) throw std::invalid_argument("fixture metadata unavailable: " + path.string()); +std::string readText(const std::string& path) { + std::ifstream input(path.c_str()); + if (!input) throw std::invalid_argument("fixture metadata unavailable: " + path); return {std::istreambuf_iterator(input), std::istreambuf_iterator()}; } -std::vector readBinary(const std::filesystem::path& path) { - std::ifstream input(path, std::ios::binary); - if (!input) throw std::invalid_argument("fixture field unavailable: " + path.string()); +std::vector readBinary(const std::string& path) { + std::ifstream input(path.c_str(), std::ios::binary); + if (!input) throw std::invalid_argument("fixture field unavailable: " + path); return {std::istreambuf_iterator(input), std::istreambuf_iterator()}; } @@ -193,8 +192,8 @@ ParticleFieldSnapshot OfflineFixtureParticleAdapter::load(const std::string& fix if (!knownFixture(fixtureID)) { throw std::invalid_argument("unknown offline particle fixture: " + fixtureID); } - const auto directory = std::filesystem::path{"particle-fixtures"} / fixtureID; - return load(fixtureID, readText(directory / "metadata.json"), readBinary(directory / "field.f32"), generation); + const std::string directory = "particle-fixtures/" + fixtureID; + return load(fixtureID, readText(directory + "/metadata.json"), readBinary(directory + "/field.f32"), generation); } } // namespace mbgl::particle diff --git a/src/mbgl/renderer/layers/render_particle_validation_layer.cpp b/src/mbgl/renderer/layers/render_particle_validation_layer.cpp index b52e83535..05d3a6bb2 100644 --- a/src/mbgl/renderer/layers/render_particle_validation_layer.cpp +++ b/src/mbgl/renderer/layers/render_particle_validation_layer.cpp @@ -956,6 +956,7 @@ bool buildParticlePoints(gfx::Context& context, return true; } +#if MLN_RENDER_BACKEND_METAL bool buildParticleEndpointCoverage(gfx::Context& context, const std::shared_ptr& resources, LayerGroup& group, @@ -1016,6 +1017,7 @@ bool buildParticleEndpointCoverage(gfx::Context& context, group.addDrawable(std::move(drawables.front())); return true; } +#endif } // namespace